reactjs - React-Router:始终显示标题但不显示在着陆页中

标签 reactjs react-router react-router-v4

我当前的路由器树如下所示:

  <Route exact path="/" component={Landing} />
  <Route component={Header} />§
  <Route path="/component1" component={Component1} />
  <Route path="/component2" component={Component2} />
  ...

我想要 <Header />渲染组件时始终显示<Component1 /><Component2 />但当用户位于登录页面 ( <Landing /> ) 时则不会。

然而,对于上面的 react 路由器树,<Header />一直显示。

最佳答案

您可以使用 react-router-dom 中的 Switch 并像这样配置您的路由

<Switch>
    <Route exact path="/" component={Landing} />
    <Route component={Header} />
</Switch>
<Route path="/component1" component={Component1} />
<Route path="/component2" component={Component2} />

在上述情况下,如果 Landing 路由匹配,则不呈现 Header,否则呈现 Header

关于reactjs - React-Router:始终显示标题但不显示在着陆页中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50757593/

相关文章:

javascript - 上下文映射函数中的 jsx-no-bind

reactjs - 绑定(bind)元素 'Component' 隐式具有 'any' type.ts

reactjs - 使用React Router Switch时取消React中的Axios请求

javascript - 如何将数组中的对象渲染到 React 中的另一个组件中?

javascript - 如何使用 React 呈现不同的布局?

javascript - 子元素点击也触发父元素 - Reactjs

javascript - 在 React 中使用 Dygraph 和 redux?

javascript - React-router-dom v4 BrowseRrouter 传递函数给 child

reactjs - React 使用 RouteComponentProps - 类型 '{}' 缺少类型“Readonly<RouteComponentProps<{}”中的以下属性