反応アプリでbootstrapを使用しようとしていますが、aError: Bootstrap's JavaScript requires jQuery
。私はjqueryをインポートし、他の投稿から次を試してみました:
import $ from 'jquery';
window.jQuery = $;
window.$ = $;
global.jQuery = $;
ただし、not defined
エラー。
これを修正する唯一の方法は
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
index.htmlへ
jqueryをエクスポートする方法、またはbootstrapそれを検出/読み取りできるようにする方法はありますか?
bootstrap経由で呼び出します
import bootstrap from 'bootstrap'
import bootstrap from 'bootstrap'
_const bootstrap = require('bootstrap');
「create-react-app」を使用してプロジェクトをビルドしようとしましたが、インポートされたモジュールのロード順序はインポート順序と同じではないことがわかりました。これが、boostrapがjqueryを見つけられない理由です。通常、この状態では「必須」を使用できます。それは私のPCで動作します。
_import $ from 'jquery';
window.jQuery = $;
window.$ = $;
global.jQuery = $;
const bootstrap = require('bootstrap');
console.log(bootstrap)
_
関連するもの:
imports
は巻き上げられますhttps://stackoverflow.com/a/29334761/4831179
imports
を最初にする必要があります特に、インポートはホイストされます。つまり、インポートされたモジュールは、ステートメントが散在する前に評価されます。すべてのインポートをファイルの先頭にまとめておくと、仕様のこの部分から生じる驚きを防ぐことができます。
から https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/first.md
Webpackを使用していますか?その場合は、webpack.config.js
。
plugins: [
new webpack.ProvidePlugin({
jQuery: 'jquery',
$: 'jquery'
})
],
Create-react-appを使用する場合、まずこのようにJqueryパッケージをインストールする必要があります。
Sudo npm install jquery --save
そして、このような反応ブートストラップ
Sudo npm install react-bootstrap --save
JSファイルでは、jqueryとbootstrapの両方を使用できます。
import $ from 'jquery';
import { Carousel, Modal,Button, Panel,Image,Row,Col } from 'react-bootstrap';
あなたは反応のためにこのURLを使用することができますbootstrap components https://react-bootstrap.github.io/components.html
このようなonclick関数でボタンを使用できます
<Button bsStyle="primary" bsSize="large" active onClick={this.getData()}>Sample onClick</Button>
の中に
getData(){
$.ajax({
method: 'post',
url:'http://someurl/getdata',
data: 'passing data if any',
success: function(data){
console.log(data);
alert(data);
this.setState({
some: data.content,
some2: data.content2,
});
},
error: function(err){
console.log(err);
}
});
これはすべてjqueryとbootstrapを使用した基本的な例です。さらに必要な場合は、これについてコメントを書くことができます。
EDIT:あなたの問題は、データテーブルとjqueryの統合に関する問題だと思われるので、質問の再構成を検討する必要があります。
ReactはvirtualDOMを使用し、jQueryは完全にDOMで動作します。
そのため、DataTablesとjQueryでニースをプレイすることはほぼ不可能に近いようです。 DataTablesを表示することもできますが、Reactで何か他の操作を行うと、基本的に独自のvirtualDOMの使用に戻り、DataTablesが混乱します。
いくつかの反応しやすいデータテーブルの代替:
destroy
オプションを使用して動作させます)DataTables関連の議論: