javascript - react 路由器加载两个组件

标签 javascript reactjs

我正在编写一个简单的登录系统,如果我想让自己注册,这两个组件都会加载到 App 组件中。

我的代码:

class App extends React.Component {
  render() {
      return (
         <div className="row">
            <Header/>
            <BrowserRouter history={browserHistory}>
              <div>
                <Route path="/" component={Login}/>
                <Route path="/register" component={Register} />
              </div>
            </BrowserRouter>
         </div>
      );
   }
}

最佳答案

改变

<Route path="/" component={Login}/>

<Route exact path="/" component={Login}/>

您还可以使用 Switch 组件来始终确保只呈现一个组件,但要注意顺序。在这种情况下,它将是这样的:

  <Switch>
    <Route path="/register" component={Register} />
    <Route path="/" component={Login}/>
  </Switch>

关于javascript - react 路由器加载两个组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44310587/

相关文章:

javascript - JSON.parse() 不适用于变量类型字符串,但如果直接使用,它可以处理其内容

reactjs - ShouldComponentUpdate 永远不会在子组件中调用

javascript - 是否可以在 React Native 中从其无状态组件子级更改父级的状态?

javascript - 使用 React.js JSX 页面时 onClick 按钮事件处理程序不起作用

javascript - 查看特定页面时将额外的 css 类应用于标题

javascript - Android:从 WebView 调用 javascript

javascript - 第二次刷新浏览器后 svg 图像加载到 Canvas 上

javascript - 如何使用 Facebook React 的 JSX 拥有条件元素并保持 DRY?

javascript - 摆脱 TypeError : Object(. ..) 的方法不是函数

javascript - 如何在面积图中组合 2 个系列 - Highchart