React中想要对父组件传递子组件,请问是以哪种方式传递呢?

想要对一个父组件传递子组件:

image.png

传递children的时候:
是通过props 属性传递

function Home() {
  return (
    <React.Fragment>
      <BaseLayout>
        <AdminLayout children={...}></AdminLayout>
      </BaseLayout>
    </React.Fragment>

  );
};

还是通过组件的嵌套传递呢:

function Home() {
  return (
    <React.Fragment>
      <BaseLayout>
        <AdminLayout>
          <comp1></comp1>
          <comp2></comp2>
          <comp3></comp3>
        </AdminLayout>
      </BaseLayout>
    </React.Fragment>

  );
};
阅读 1.7k
2 个回答
✓ 已被采纳

使用children属性也不会有问题,但是推荐使用第二种,比较直观,也符合大家在传递children时的一贯写法

用第二种方法,把子组件嵌套在父组件里:

function Home() {
  return (
    <React.Fragment>
      <BaseLayout>
        <AdminLayout>
          <Comp1></Comp1>
          <Comp2></Comp2>
          <Comp3></Comp3>
        </AdminLayout>
      </BaseLayout>
    </React.Fragment>
  );
};

AdminLayout :

function AdminLayout(props) {
  return (
    <div className="admin-layout">
      {/* 其他布局代码 */}
      {props.children} {/* 渲染子组件 */}
    </div>
  );
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题