本文介绍了V6中可选参数的替代方式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在v5中,我们可以将尾随?添加到可选参数的路由中,但像在v6中一样,已经放弃了对相同的支持,那么编写以下代码的替代方法是什么?

<Route path="/cart/:id?" component={<CartPage />} />

推荐答案

在深入研究源代码以了解RRDv6中的路径解析与RRDv5中的路径解析有何不同之后,除了它们不再使用path-to-regex之外什么也没有找到,我在Repo的问题部分找到了这个issue,它直接说明了他们在V6中的don't plan to support optional path parameters

参见常见问题解答:What Happened to Regexp Routes Paths?

似乎建议的解决方案是呈现2个路由以匹配任一路径并呈现相同的组件。

示例:

<Route path="/cart/:id" element={<CartPage />} />
<Route path="/cart/" element={<CartPage />} />

<Route path="/cart">
  <Route path=":id" element={<CartPage />} />
  <Route path="" element={<CartPage />} />
</Route>

后者实际上只是&cot;/cart&qot;相对路径周围的句法糖分。

这篇关于V6中可选参数的替代方式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 13:01