如何在 React 中创建多个布局?

Posted

技术标签:

【中文标题】如何在 React 中创建多个布局?【英文标题】:How to create multiple layouts in React? 【发布时间】:2021-07-30 04:02:26 【问题描述】:

我想实现这样的目标:我不会在我的登录页面中显示页眉和页脚,但主布局将保持不变。在路线之间使用不同的布局?我怎样才能实现这样的目标?

我的代码:

<Router history=history>
        <Header>
            <Switch>
                <Route component=Home path="/" exact />
                <Route path="/about" component=AboutPage />
                <Route path="/community" exact />
                <Route path="/login" exact component=LoginPage />
                <Route path="/signup" exact component=LoginPage />
                <Route path="/members" component=Members />
                <Route component=NoMatch />
            </Switch>
        </Footer>
    </Router>

【问题讨论】:

你为什么要用&lt;/Footer&gt;关闭&lt;Header&gt; 【参考方案1】:

简单。在更高级别添加另一个 Switch,如果匹配则渲染您的登录路由,否则渲染其余路由。

<Router history=history>
  <Switch>
    <Route path="/login" exact component=LoginPage />
    <Route>
      <Header />
      <Switch>
        <Route component=Home path="/" exact />
        <Route path="/about" component=AboutPage />
        <Route path="/community" exact />
        <Route path="/signup" exact component=LoginPage />
        <Route path="/members" component=Members />
        <Route component=NoMatch />
      </Switch>
      <Footer />
    </Route>
  </Switch>
</Router>

【讨论】:

同样的问题:为什么要关闭 &lt;Header&gt;&lt;/Footer&gt; 这种方式呈现空白页

以上是关于如何在 React 中创建多个布局?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据通过props传递的值在React中创建多个标签

如何在简单布局中创建波纹效果

如何在 Android Studio 1.4 中创建横向布局

如何在 CollectionView 中创建此布局

在 xml 文件中创建多个矩形形状

如何在 React 中创建动态变量名?