繁体   English   中英

重定向到无法在 React 应用程序上运行的新页面

[英]Redirect to a new page not working on React application

当用户注册到应用程序时,数据将使用返回访问令牌的 API 保存到数据库中。 在此步骤之后,需要将用户重定向到另一个页面(注册详细信息)。 我正在使用下面附加的代码来做同样的事情。 一旦我提交按钮,令牌就会返回,URL 将更改为新的。 但是页面不显示。 请帮我解决这个问题。

在此处输入图像描述

应将用户重定向到的新页面。

在此处输入图像描述

应用程序.js

在此处输入图像描述

您需要将第一个路由的 url 设为“\/”而不是“*”,因为现在它匹配所有路由。

<Route exact path="/" component={SignupForm} />

path="*"从字面上匹配任何路由,并且由于您将Route组件渲染到Switch中,因此仅渲染第一个匹配的RouteRedirect

请记住,在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM