我在使用 react-router 进行动态路由时遇到问题。我的示例路径如下所示:/contacts/C/BG-DPC-063这是我的路线:<Route path='/contacts/:contactId' component={Contacts}/>所以当我试图处理我的比赛时:const { params: { contactId }} = match;由于斜线,contactId 只是“C”。我该如何处理?这是来自 API 的 ID,因此我无法更改。
2 回答
![?](http://img1.sycdn.imooc.com/545869470001a00302200220-100-100.jpg)
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
你为什么不使用:
<Route path='/contacts/:contactPrefix/:contactSuffix' component={Contacts}/>
那你以后合并吗?
![?](http://img1.sycdn.imooc.com/5458692c00014e9b02200220-100-100.jpg)
慕码人8056858
TA贡献1803条经验 获得超6个赞
这完全取决于 URL 的哪些部分是动态的?如果“C”不是动态的
<Route path='/contacts/C/:contactId' component={Contacts}/>
除此以外
<Route path='/contacts/:apiID/:contactID' component={Contacts}/>
如果第二个例子是这样的话,一定要处理非现有appID
和/或contactID
情况,因为用户可以输入任何有效/无效:appID
和/或:contactID
在URL(如果无效,重定向他的其他页面或显示一些消息)。
添加回答
举报
0/150
提交
取消