You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中如何在Layout公共布局组件内灵活插入不同内容组件

实现方法

你可以通过React内置的children属性实现内容插槽,操作两步即可:

  • 第一步:修改Layout组件,接收并渲染children
    修改后的Layout组件代码如下:
export default function Layout({ prop, title, subTitle, item, children }) {
  return (
    <LayoutContainer>
      <LayoutMain>
        <MainRow>
          <MainSubTitle>{subTitle}</MainSubTitle>
          <MainTitle>{title}</MainTitle>
          <MainText>
            우리는 모두 모여 춤을 추지. Let's get it.
          </MainText>
        </MainRow>
      </LayoutMain>
      <FixNav />
      {/*여기는 고정 네비게이션 바*/}
      <LayoutContents>{children}</LayoutContents>
    </LayoutContainer>
  );
}
  • 第二步:在业务页面组件中直接嵌套内容即可
    所有写在<Layout>开闭标签之间的内容,都会自动作为children传入Layout组件,渲染到预留的LayoutContents位置,示例如下:
// Process 页面组件示例
export default function Process() {
  return (
    <Layout title="제조공정" subTitle="df">
      {/* 这里直接写你当前页面需要渲染的自定义内容即可 */}
      <div>
        <h2>制造流程第一步</h2>
        <p>这里是制造流程的具体介绍</p>
      </div>
      {/* 也可以嵌套其他自定义组件 */}
      <ProcessStepList />
    </Layout>
  );
}

如果需要多个插槽(比如同时要自定义侧边栏、页脚等多个位置的内容),也可以通过自定义props传入对应组件,比如给Layout传asideContent、footerContent这类参数,在对应位置渲染即可,单插槽场景用children是最简便的方案。

内容的提问来源于stack exchange,提问作者jaeseong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 22:36:00