React Router v6中能否用可选参数路由省略ID仍跳转至CartScreen?
React Router v6 中可选路由参数的支持情况
可以,React Router v6完全支持你这种带可选参数的路由配置。
你给出的代码:
<Route path="/cart/:id?" element={<CartScreen />} />
完全有效,不管用户访问的是/cart(不带id参数)还是/cart/123这类带具体id值的路径,都会正确渲染CartScreen组件。
在CartScreen组件内,你可以通过useParams()钩子获取这个可选参数:
import { useParams } from 'react-router-dom'; function CartScreen() { const { id } = useParams(); // 当访问/cart时,id为undefined;访问带参数的路径时,id为对应字符串 return ( <div> 购物车页面 {id && <p>当前选中的商品ID: {id}</p>} </div> ); }
内容的提问来源于stack exchange,提问作者Ilyass Daafane
相关产品推荐
相关产品推荐

