[英]Redirect to a new page not working on React application
您需要将第一个路由的 url 设为“\/”而不是“*”,因为现在它匹配所有路由。
<Route exact path="/" component={SignupForm} />
path="*"
从字面上匹配任何路由,并且由于您将Route
组件渲染到Switch
中,因此仅渲染第一个匹配的Route
或Redirect
。
请记住,在Switch
路径中,顺序和特异性很重要! 如果订购正确,则几乎不需要使用exact
道具。 按反向路径特异性的路径对路由进行排序,即"/SignupDetails"
和"/Signup"
都比"/"
更具体,并且应该在Switch
中显示得更高。
<Router>
<Switch>
<Route path="/SignupDetails" component={SignupDetailsForm} />
<Route path="/Signup" component={SignupForm} />
<Route path="/" component={SignupForm} />
</Switch>
</Router>
react-router-dom
v6 Route
path
prop 也可以采用路径数组,所以如果你愿意,你可以让你的代码更干一点。 请记住,路径顺序和特异性在数组中仍然很重要。
<Router>
<Switch>
<Route path="/SignupDetails" component={SignupDetailsForm} />
<Route path={["/Signup", "/"]} component={SignupForm} />
</Switch>
</Router>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.