首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react路由器v4不起作用的嵌套路由

react路由器v4不起作用的嵌套路由
EN

Stack Overflow用户
提问于 2019-02-21 16:20:44
回答 2查看 393关注 0票数 2

我已经为我已经使用4个组件页面的page.In侧创建了一个路由。我已经给出了到这些component.In报头下拉列表的路径。我已经给出了到这些组件的链接,在第一次单击时,路径是改变的。

但在第二次点击时,url会改变,但不会重定向。

代码语言:javascript
复制
const menu = (
      <Dropmenu>
        <Menu
          key="menu"
          style={{ backgroundColor: '#0f2037', borderRadius: '0' }}
        >
          <Menu.Item key="golive">
            <Link to={'/s/live'} style={{ color: '#fff' }}>
              <Icon type="video-camera" />
              &nbsp; Start Live Broadcast
            </Link>
          </Menu.Item>
          <Menu.Item key="mychannel" style={{ color: '#fff' }}>
            <Link to={'/s/profile'} style={{ color: '#fff' }}>
              <Icon type="user" />
              &nbsp; Manage Profile
            </Link>
          </Menu.Item>
          <Menu.Item key="settings">
            <Link to={'/s/account'} style={{ color: '#fff' }}>
              <Icon type="setting" />
              &nbsp; Account
            </Link>
          </Menu.Item>
          <Menu.Item
            key="logout"
            onClick={this.logoutCall}
            style={{ color: '#fff' }}
          >
            <Icon type="logout" />
            &nbsp; Logout
          </Menu.Item>
        </Menu>
      </Dropmenu>
    );
   
  <BrowserRouter>
     <Switch>
        <Route path="/s" component={GoLive} />
        <Route
          path="/s/profile"
          render={() => (
            <div>
              <ManageProfile descri={teprop} />
            </div>
          )}
        />
      </Switch>
  </BrowserRouter>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-21 16:31:42

exact添加到路由可以解决此问题:

代码语言:javascript
复制
    <Route path="/s" exact={true} component={GoLive} />
    <Route
      exact={true}
      path="/s/profile"
      render={() => (
         <div>
            <ManageProfile descri={teprop} />
         </div>
       )}
     />

Switch组件呈现第一个匹配的路由,并且/s/s/profile/中匹配。

票数 2
EN

Stack Overflow用户

发布于 2019-02-21 17:50:54

您可以在路由中使用exact:

代码语言:javascript
复制
<Route exact path="/one" component={About}/>

https://reacttraining.com/react-router/web/api/Route/exact-bool

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54802301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档