我有一个关于反应的快速问题。如果我有一个反应容器,我可以在其中嵌入内容吗?
例如:
<div id=“mount-node”>
<p>I want this content to stay after the component mounts</p>
</div>
这可能吗?如果是这样,我应该这样做吗?
答案 0 :(得分:0)
是和否。一旦你告诉React渲染到div,基本上做出反应&#39;拥有&#39;那个div。它将取代它内部的任何东西。如果你想从React外面传递一些东西,这是可能的,但你会想用javascript这样做。请记住,当您在React中渲染任何内容时(包括带有ReactDOM.render
的顶级组件),您可以将props传递到组件中,作为将数据传递到它们中的方法。因此,您可以使用道具传递您希望React包含在组件渲染中的数据。
答案 1 :(得分:0)
目前您的问题的答案是否定的。 React替换您传入的容器节点内的所有内容。请注意React文档中的以下引用。
ReactDOM.render()
控制您传入的容器节点的内容。第一次调用时,内部的任何现有DOM元素都会被替换。后来的调用使用React的DOM diffing算法进行有效的更新。
ReactDOM.render()
不会修改容器节点(仅修改容器的子节点)。将来,可以将组件插入现有DOM节点,而不会覆盖现有子节点。
https://facebook.github.io/react/docs/top-level-api.html#reactdom.render