2016-10-27 14 views
0

ではありません。React.js - ターゲットコンテナが反応するコンポーネントをレンダリングしようとすると、DOM要素

var wrapper = document.getElementById('wrapper'); 
console.log(wrapper); 
ReactDOM.render(
    React.createElement(components.WrapperComponent),{modules_list:modules_list},wrapper); 

は私に与える:

Error: _registerComponent(...): Target container is not a DOM element.

を、私はあなたが反応し、実行しようとすると、このエラーがスローすることがあります知っていますhtmlのdocumenttが適切にロードされる前に、私のscriptタグはドキュメントの最後、bodyの最後のタグの直前にあります。これは、名前の不一致が発生したときにも発生する可能性がありますが、私はid 'wrapper'を持つdivがドキュメントに存在することを確信しています。私はconsole.log(ラッパー)それは私にオブジェクトを与えるとき、は定義されていない、だからidkなぜそれをレンダリングすることを拒否する。そして、レンダリング()FUNCTは、上記の暴露としてレンダリングしようとしている

requirejs(['jsx!layout/WrapperComponent'], function (WrapperComponent) { 
     components.WrapperComponent = WrapperComponent; 
     render(); 
    }); 

PS:RequireJS機能を必要として、私は「インポート」だインクルードは、コンポーネントを反応させます。私のHTMLドキュメントの

パート:

<body class="navbar-top has-detached-right"> 

    <div id='wrapper'> .... </div> 
+0

id = "wrapper"という要素がありますか?ここにHTMLコードを含めることができます。 – Brian

+0

これは私が "私の文書にIDのラッパーを持つdivが存在することを確信している"という意味です。 ..しかし、私はとにかくhtmlを投稿します。 – Pavarine

+0

'ReactDOM.render(要素、コンテナ、[コールバック])'、あなたの 'レンダリング'は意味をなさない。 – Solo

答えて

1

ReactDom.renderの第二引数には、DOMコンテナでなければなりません。しかし、あなたは{modules_list:modules_list}を置く。あなたがしたいと思ったのは、

ReactDOM.render(React.createElement(components.WrapperComponent, {modules_list:modules_list}),wrapper)) 
+0

だから私はスマートな人が大好きです。ありがとうございました。 – Pavarine

関連する問題