首页 > 解决方案 > 将不带 url 的参数传递给路由器中的组件

问题描述

有什么方法可以在路由器中传递 id 而无需在 URL 中提及。就像在下面的路线中一样,它的 URL 将有一个 idabc.com/abc/1

<Route exact path="/abc/:vid" component={AbcComponent} />

我希望 URL 是abc.com/abc并且id应该在AbcComponent. 我尝试关注但我在 App.js 中没有要传递的 ID。

<Route exact path="/SpRides" 
render={(props) => <SpRides vid={vid} spId={spId} depId={depId} {...props} />} />

标签: reactjsreact-router-dom

解决方案


如果您真的不希望 id 显示在 url 中(既不是查询字符串也不是哈希),我认为唯一的解决方案可能是将其设置为位置状态: https ://reactrouter.com/web/api/location

您可以设置传递链接“到”道具作为对象的状态值: https ://reactrouter.com/web/api/Link/to-object


推荐阅读