可选/id?/React Route路径中的参数不起作用



我正在学习反应,我看到了一个视频和在哪里使用问号作为URL路径中传递的可选id参数,如

<Route path='/cart/:id?' element={< CartScreen />} exact/> 

id旁边的strong>不应作为URL中的参数我看到的视频是两年前的,我正在使用一个更新的react版本,我试图搜索解决方案,但没有运气

这取决于您使用的react路由器的版本。

对于V1、V2和V3,可选参数可以定义为:

<Route path='/cart(/:id)' element={< CartScreen />} exact/>

对于React路由器V4、V5,您可以使用:

<Route path='/cart/:id?' element={< CartScreen />} exact/> 

至于React Router V6,它不再支持可选路由,而是选择嵌套路由。

<Route path="/page/:friendlyName">
<Route path=":sort" element={<Page />} />
<Route path="" element={<Page />} />
</Route>

从V5到V6的更改的官方文档。有关详细信息,请参阅相对链接部分。

最新更新