2016-07-28 7 views
0

私は反応について素早く質問します。反応容器があれば、その中に内容を入れられますか?例えば反応容器:htmlを入れ子にすることはできますか?

<div id=“mount-node”> 
    <p>I want this content to stay after the component mounts</p> 
</div> 

これは可能ですか?もしそうなら、私はこれをするべきですか?

+1

なぜあなたは試してみて、見つけるませんか? (Spoiler:答えはyesです) – Chris

+0

私にリンクできるコードサンプルはありますか? – Matt

+0

反応文書(特に 'ReactDOM.render()'メソッドを見ると、あなたの質問に対する答えは、https://facebook.github.io/react/docs/top-levelです。 -api.html#reactdom.render –

答えて

0

はい、いいえ。 Reactにdivにレンダリングするように指示すると、基本的にそのdivを所有するように反応します。それはその中にあるものを置き換えます。外部から何かをReactに渡したい場合、これは可能ですが、javascriptを使用してそうしたいでしょう。 Reactで何かをレンダリングするとき(最上位コンポーネントにReactDOM.renderを含む)、データを渡す手段としてコンポーネントに小道具を渡すことができます。したがって、あなたは、あなたのコンポーネントのレンダリングにReactを含めるデータを渡すために小道具を使うことができます。

+0

ありがとうございました – Matt

0

現在、あなたの質問に対する答えはノーです。 Reactは、渡したコンテナノード内のすべてを置き換えます.Reactドキュメントから次の引用に注意してください。

ReactDOM.render()は、渡したコンテナノードの内容を制御します。既存のDOM要素は、最初に呼び出されたときに置換されます。後の呼び出しは効率的な更新のためにReactのDOM diffingアルゴリズムを使用します。

ReactDOM.render()は、コンテナノードを変更しません(コンテナの子のみを変更します)。将来、既存の子を上書きすることなく、既存のDOMノードにコンポーネントを挿入することは可能です。

https://facebook.github.io/react/docs/top-level-api.html#reactdom.render

+0

ありがとうございました – Matt

関連する問題