用react-router4实现路由嵌套出问题

发布于 2022-09-06 03:01:56 字数 1636 浏览 10 评论 0

当前的页面地址是http://localhost:2000/#/home这个,我想变成http://localhost:2000/#/home/haha这样
路由文件是:

const PrimaryLayout = () => (
    <div className="primary-layout">
     
      <main>
        <Route path="/" exact component={Home} />
        
        <Route path="/home" component={Home} />  
        
        <Route path="/detail" component={Hdetail}/>
        <Route path="/zhuanlan" component={Zl}/>
        <Route path="/find" component={Find}/>
        <Route path="/collect" component={Collect}/>
        <Route path="/open" Component={Open}/>
      </main>
    </div>
)

当前组件是:

<div className="homeMenuConLeft">
      {
         this.state.HomeMenuTop.map((item,index)=>
              <span key={index} className={this.state.menuOne===item.tab?"homesortactive":""} data-tab={item.tab}  onClick={this.clickTop}>
               <Link to={{pathname:"/home/haha"} } >{item.name}</Link>
               <Route path="/home/:name" component={Home}/>
               </span>
         )
     }
</div>

就是home里面有两个选择,点击选择改变浏览器的地址栏,然后从后台调取数据,这个功能。根本来说我是想改变浏览器的地址栏的地址,我用的是Link改变路由,然后对应的组件还是home组件,但是点击之后,页面中鼠标就不能点击别的了,就是类似卡住,点击别的选项没有没有用,而且也没有什么错误信息,这是为什么?实现这种功能,是不是本来我想的就是错的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

z祗昰~ 2022-09-13 03:01:56

React-router v4 路由配置方法
https://segmentfault.com/a/11...

React-router 4 按需加载的实现方式及原理(Code Splitting)
https://segmentfault.com/a/11...

clipboard.png
这句话啥意思? 就是你想要home界面,里面嵌套一个haha界面吗

如果是这样的话

clipboard.png

太阳男子 2022-09-13 03:01:56
            <Route path="/home" component={Home} />  
                <Route path="/detail" component={Hdetail}/>
                <Route path="/zhuanlan" component={Zl}/>
                <Route path="/find" component={Find}/>
                <Route path="/collect" component={Collect}/>
                <Route path="/open" Component={Open}/>
            </Route>
不乱于心 2022-09-13 03:01:56

利用history改变了浏览器地址可以实现这种

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文