如果您有一条路线,例如:
<Route path="/users/:userId" />
然后导出该路由,以便可以在您的应用程序中使用它,例如:
export const MY_ROUTE = '/users/:userId/';
<Route path={MY_ROUTE} />
如何动态设置链接中的参数?即我想这样做:
<Link to={MY_ROUTE} params={{userId: 1}} />
但是参数完全被忽略了……查询只是使查询(?userId =)不是参数……有什么想法吗?
从1.x到2.x的升级指南:
<Link to>
,onEnter和isActive使用位置描述符
<Link to>
现在可以使用除字符串之外的位置描述符。不建议使用查询和状态道具。// v1.0.x
<Link to="/foo" query={{ the: 'query' }}/>
// v2.0.0
<Link to={{ pathname: '/foo', query: { the: 'query' } }}/>
不幸的是,不支持传入param
对象,您自己已经看到了。
为了动态使用您建议的路线,您必须遵循以下步骤:
<Link to={ MY_ROUTE.replace(':userId', '<someUserIdFromSomewhere>') }/>
或者,您可以通过代替导出字符串来进一步优化MY_ROUTE
,您可以这样导出userLink
函数:
function userLink(userId) {
return `/users/${userId}/`;
}
然后将其用于您想Link
在路线上使用的任何位置。
您可以在下面找到Link
组件上公开的受支持的参数和API :
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句