Javascript 如何在React中结合动态和静态路由

Javascript 如何在React中结合动态和静态路由,javascript,reactjs,Javascript,Reactjs,我需要在React中结合动态和静态路由。在我的网站中,我需要显示一系列产品,它们通过使用动态路由来显示,但每个产品都有自己的“安装”页面,但通过运行安装它不起作用。 在产品页面中,我使用链接转到/安装路径:SF34安装页面 如何解决此问题?您可以尝试删除路径中的对象 改变这个 <Route path={"/:products"}/> 为了 这是我在这里看到的唯一一个问题,我编写了您的代码只是为了测试,它可以正常工作 检查它您缺少的是准确的: <Ro

我需要在React中结合动态和静态路由。在我的网站中,我需要显示一系列产品,它们通过使用动态路由
来显示,但每个产品都有自己的“安装”页面,但通过运行
安装
它不起作用。 在产品页面中,我使用链接转到/安装路径:
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>