在 React Router 中使用参数重定向到父路由
Redirect to Parent Route with Parameter in React Router
我有一个反应应用程序,我在其中使用反应路由器来控制结帐过程中的步骤。我正在尝试创建一个重定向回父路由的嵌套路由。
我需要这条路线,因为在我的结账过程中有一个步骤,用户离开 React 应用程序访问条带结账页面。如果他们从条带结帐中点击取消,我希望他们使用相同的 URL 参数 return 到父路由。
目前粗体路由无法检索父路由的存储。
{/*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>
我有一个反应应用程序,我在其中使用反应路由器来控制结帐过程中的步骤。我正在尝试创建一个重定向回父路由的嵌套路由。
我需要这条路线,因为在我的结账过程中有一个步骤,用户离开 React 应用程序访问条带结账页面。如果他们从条带结帐中点击取消,我希望他们使用相同的 URL 参数 return 到父路由。
目前粗体路由无法检索父路由的存储。
{/*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>