reactjs - 在 React Router 中使用参数重定向到父路由

标签 reactjs react-router

我有一个 react 应用程序,我在其中使用 react 路由器来控制结帐过程中的步骤。我正在尝试创建一个重定向回父路由的嵌套路由。

我需要这条路线,因为在我的结帐过程中有一个步骤,用户离开 React 应用程序访问 strip 结帐页面。如果他们从 stripe checkout 中点击取消,我希望他们返回到父路由,并使用与他们进来时相同的 URL 参数。

现在粗体路由无法检索父路由的存储。

{/*Main Application (ID is Specified) */}
<Route path="/:storeid" element={<MainPage />}>

    <Route index element= {<BuyPage />} />
    <Route path="ChooseAmount" element= {<ChooseAmount/>} /> 
    <Route path="BuySummary"  element={<BuySummar/>} />
    **<Route path="Buy-Canceled" element={<Navigate replace to="/:storeid" />} />**
    <Route path="*" element={<Navigate replace to="/Page-Not-Found" />} />
</Route> 

有什么建议吗?理想情况下,我希望避免在服务器端处理这个问题,但我知道这是一个解决方案。

谢谢!

最佳答案

如果我理解你的问题,你想从 ".../:storeid/BuySummary" 重定向到 ".../:storeid"。使用相对路径 ".." 将一个路径段返回到父路由的路径。

<Route path="/:storeid" element={<MainPage />}>
  <Route index element= {<BuyPage />} />
  <Route path="ChooseAmount" element= {<ChooseAmount/>} /> 
  <Route path="BuySummary"  element={<BuySummar/>} />
  <Route path="Buy-Canceled" element={<Navigate replace to=".." />} />
  <Route path="*" element={<Navigate replace to="/Page-Not-Found" />} />
</Route>

关于reactjs - 在 React Router 中使用参数重定向到父路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72061381/

相关文章:

javascript - 如何触发 AsyncSelect 以重新加载 ReactJS 中的选项

javascript - PanResponder 在第二次拖动时将 Animated.View 捕捉回原始位置

css - 如何在带有反应的样式化组件中使用网格模板区域?

javascript - 关于重定向到当前路由的 React 路由器错误。不确定如何正确构建路由

javascript - 无法获取组件类中的当前路由

reactjs - React App 部署到 Azure Web 的流程?

reactjs - 无法覆盖 Fab 禁用的颜色 Material - ui

reactjs - 为什么我不能为某些 React.Components 使用 className 属性?

reactjs - 如何在 Tauri 中使用 window.location?

javascript - 如何访问 reducer (redux-router)中的当前位置?