Reactjs 我必须用html标签包装组件吗?
我见过这样一种模式,组件似乎总是被包装在HTML标记中 我搜索了一下,看看这是否是强制性的,但没有找到关于这个主题的任何内容 如果上述情况不正确,为什么我在第一个代码示例中得到错误,而在第二个代码示例中没有得到错误Reactjs 我必须用html标签包装组件吗?,reactjs,Reactjs,我见过这样一种模式,组件似乎总是被包装在HTML标记中 我搜索了一下,看看这是否是强制性的,但没有找到关于这个主题的任何内容 如果上述情况不正确,为什么我在第一个代码示例中得到错误,而在第二个代码示例中没有得到错误 const App = (props) => { return ( <Header /> {props.children} ); }; const App = (props) => { return ( <div&g
const App = (props) => {
return (
<Header />
{props.children}
);
};
const App = (props) => {
return (
<div>
<Header />
{props.children}
</div>
);
};
const-App=(道具)=>{
返回(
{props.children}
);
};
常量应用=(道具)=>{
返回(
{props.children}
);
};
不,不需要将渲染包装在div
或其他html元素中。具体而言,您可以使用组件作为根元素进行渲染。但是,不能有多个根元素,这就是第一个示例中出现错误的原因。不过,以下措施可行:
render() {
<Header>
<h1>Hello World</h1>
<p>Lorem ipsum</p>
</Header>
}
render(){
你好,世界
同侧眼睑
}
最后,您可能仍然需要在Header组件中使用某种包装器div
,因为您不能有超过1个根元素
我确实在某个地方读到React团队正在研究这个问题,并且新的协调器支持多个根元素,但是它还远没有完成。不,不需要将渲染包装在
div
或其他html元素中。具体来说,您可以使用组件作为根元素进行渲染。但是,不能有多个根元素,这就是第一个示例中出现错误的原因。不过,以下措施可行:
render() {
<Header>
<h1>Hello World</h1>
<p>Lorem ipsum</p>
</Header>
}
render(){
你好,世界
同侧眼睑
}
最后,您可能仍然需要在Header组件中使用某种包装器div
,因为您不能有超过1个根元素
我确实在某个地方读到过React团队正在研究这个问题,并且新的协调器支持多个根元素,但是它还远远没有完成。您不必将它们专门包装在HTML标记中。您可以将它们包装在自定义组件中 您所遇到的错误是因为组件必须返回单个节点,这就是您无法执行此操作的原因:
//错了
常量应用=(道具)=>{
返回(
{props.children}
);
};
您不必将它们专门包装在HTML标记中。您可以将它们包装在自定义组件中
您所遇到的错误是因为组件必须返回单个节点,这就是您无法执行此操作的原因:
//错了
常量应用=(道具)=>{
返回(
{props.children}
);
};
可能很有趣吧。这似乎意味着一个组件必须位于一个DOM节点子树中?我想我没有解释清楚-/也许有趣。这似乎意味着一个组件必须位于一个DOM节点子树中?我想我没有解释清楚-/