私はRailsアプリケーションを作成し、react-railsをインストールしました。私は外部反応パッケージの管理に役立つbrowserify-railsもインストールしました。jsとbrowserifyとブートストラップのエラーが発生しました
私の全体的なセットアップはうまくいくようですが、react-bootstrapパッケージのモーダルコンポーネントを使用しようとすると、他のすべてのjをブロックするようなFirebugエラーが表示されます。エラーが読み:
キャッチされない不変違反:addComponentAsRefTo(...):のみ ReactOwnerは、引用文献を持つことができますが....
私は、多くの可能な解決策が、運を試してみました。なぜ私はエラーが発生しているのか、なぜ特定のコンポーネント(例えば、<Modal />
)で起こっているのか、私は本当に分かりません。通常のHTMLモーダルを使用するとエラーは発生しません。ここに私の設定です:
package.json
{
"name": "my_project",
"devDependencies": {
"browserify": "^13.1.0",
"browserify-incremental": "^3.1.1",
"reactify": "^1.1.1"
},
"license": "MIT",
"engines": {
"node": ">= 0.10"
},
"dependencies": {
"react": "^15.3.2",
"react-bootstrap": "^0.30.3",
"react-dom": "^15.3.2"
}
}
application.js
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require react
//= require react_ujs
//= require components
//= require_tree .
var React = window.React = global.React = require('react');
var ReactDOM= window.ReactDOM = global.ReactDOM = require('react-dom');
application.rb
...
config.browserify_rails.commandline_options = "-t reactify --extension=\".js.jsx\""
...
components.jsは
// Setup app into global name space for server rendering
var app = window.app = global.app = {};
var MyComponent = require('./components/my_component');
app.MyComponent = MyComponent;
var Modal = require('react-bootstrap').Modal;
var MyComponent = React.createClass({
render() {
return (
<Modal show={true}><h1>I'm working</h1></Modal>
)
}
});
module.exports = MyComponent;
my_component.js.jsx
私は反応が非常に新しいですし、私はこのように、このエラーは私のセットアップとは何かを持っているかどうかわからないんだけどそれが何か他のものであれば?
応答@ erik-snに感謝します。あなたのサンプルをコピーしてコンポーネントに貼り付けましたが、残念ながらエラーはまだあります。 – Herm