Javascript 将react组件渲染为单个DOM元素
呈现React组件时,必须将该组件放置到文档中已存在的DOM元素中,例如:Javascript 将react组件渲染为单个DOM元素,javascript,dom,reactjs,Javascript,Dom,Reactjs,呈现React组件时,必须将该组件放置到文档中已存在的DOM元素中,例如: React.render(<MyComponent />, document.findElementById('container')); React.render(,document.findElementById('container'); 但是,组件的渲染函数必须始终返回单个节点,从而产生以下DOM结构: <div id='container'> <div id='myCom
React.render(<MyComponent />, document.findElementById('container'));
React.render(,document.findElementById('container');
但是,组件的渲染函数必须始终返回单个节点,从而产生以下DOM结构:
<div id='container'>
<div id='myComponent'>
<!-- Stuff in the component -->
</div>
</div>
这会创建不必要的DOM元素,因为如果外部容器对于文档的结构没有附加值,那么它也可以被释放
目前,无法将多个组件渲染到同一父级(例如主体):
render()替换传入的容器节点的内容。将来,可以在不覆盖现有子节点的情况下将组件插入现有DOM节点
是否有其他方法可以在没有任何不必要的父节点的情况下渲染组件?提前谢谢 别无选择。您总是需要一个根节点 你为什么不摆脱cointainer,把你的组件直接渲染到主体上呢
React.render(<MyComponent />, document.getElementsByTagName('body')[0]);
React.render(,document.getElementsByTagName('body')[0]);
假设我有两个组件,那么我是否总是需要一些父组件来容纳这两个组件?既然我不能把两者都渲染到身体上,这真的应该得到支持。我正在考虑一个解决方案,创建一个节点,渲染到其中,分离它的子元素并使用它。