Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 我必须用html标签包装组件吗?_Reactjs - Fatal编程技术网

Reactjs 我必须用html标签包装组件吗?

Reactjs 我必须用html标签包装组件吗?,reactjs,Reactjs,我见过这样一种模式,组件似乎总是被包装在HTML标记中 我搜索了一下,看看这是否是强制性的,但没有找到关于这个主题的任何内容 如果上述情况不正确,为什么我在第一个代码示例中得到错误,而在第二个代码示例中没有得到错误 const App = (props) => { return ( <Header /> {props.children} ); }; const App = (props) => { return ( <div&g

我见过这样一种模式,组件似乎总是被包装在HTML标记中

我搜索了一下,看看这是否是强制性的,但没有找到关于这个主题的任何内容

如果上述情况不正确,为什么我在第一个代码示例中得到错误,而在第二个代码示例中没有得到错误

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节点子树中?我想我没有解释清楚-/