我正在用React构建一个博客前端,我有几个静态路由(主页和视频),网站的其余部分被一个从api中拉出页面内容的动态路由所覆盖。我正在尝试找出最好的方法来覆盖总是被动态路由捕获的静态路由。主页运行良好,但视频路由总是被动态路由捕获。
我将此作为我的路由器
<Router onUpdate={() => window.scrollTo(0,0)} history={history}>
<Switch>
<Layout>
<Route exact path="/" render={() => <Home />} />
<Route exact path="/videos" render={() => <Videos />} />
<Route path="/:url" render={() => <Post />} />
</Layout>
</Switch>
</Router>
我认为静态路由优先(使用exact)会在组件命中动态route...which之前捕获并显示正确的组件,但情况并非如此。
如果静态路由匹配而不是动态路由,那么如何才能首先捕获静态路由?
谢谢并让我知道!
发布于 2021-01-22 03:57:49
在这种情况下,我需要将布局组件移到交换机之外,以使路由按需工作。
https://stackoverflow.com/questions/65794589
复制相似问题