Javascript 如何在React中结合动态和静态路由
我需要在React中结合动态和静态路由。在我的网站中,我需要显示一系列产品,它们通过使用动态路由Javascript 如何在React中结合动态和静态路由,javascript,reactjs,Javascript,Reactjs,我需要在React中结合动态和静态路由。在我的网站中,我需要显示一系列产品,它们通过使用动态路由来显示,但每个产品都有自己的“安装”页面,但通过运行安装它不起作用。 在产品页面中,我使用链接转到/安装路径:SF34安装页面 如何解决此问题?您可以尝试删除路径中的对象 改变这个 <Route path={"/:products"}/> 为了 这是我在这里看到的唯一一个问题,我编写了您的代码只是为了测试,它可以正常工作 检查它您缺少的是准确的: <Ro
来显示,但每个产品都有自己的“安装”页面,但通过运行安装
它不起作用。
在产品页面中,我使用链接转到/安装路径:SF34安装页面
如何解决此问题?您可以尝试删除路径中的对象 改变这个
<Route path={"/:products"}/>
为了
这是我在这里看到的唯一一个问题,我编写了您的代码只是为了测试,它可以正常工作
检查它您缺少的是准确的:
<Route exact path="/:products"/>
<Route exact path ="/:products/install">Install</Route>
安装
解释我最初的评论
如上所述,您的路线中缺少精确的。当您有多个具有相似名称的路径时,exact
参数起作用(您最初的问题)
安装
exact做什么?
exact
参数禁用路由的部分匹配,并确保仅当路径与当前url的exact
匹配时才返回路由
应该在哪里定义路线?
App.js是主要路线的良好起点。如果您有嵌套组件,如Parent>Child,并且每个chuld可以不同,那么请在App.js中定义Parent,并在Parent组件内部为您的孩子定义路由
一般来说,这一切都取决于你的应用程序流程和架构你是否尝试过使用你的动态路由正常,但没有安装?Hi@ShwetaKale是的,在不添加{}的情况下准确地尝试,正如Tushar所说,添加准确的tooI发现了问题。我的非常感谢!我肯定会在父组件中更改子组件的路由定义
<Route exact path="/:products"/>
<Route exact path ="/:products/install">Install</Route>
<Route exact path="/:products"/>
<Route exact path ="/:products/install">Install</Route>