本文介绍了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中可选参数的替代方式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!