React-router链接,传入参数

艾略特

如果您有一条路线,例如:

<Route path="/users/:userId" />

然后导出该路由,以便可以在您的应用程序中使用它,例如:

export const MY_ROUTE = '/users/:userId/';

<Route path={MY_ROUTE} />

如何动态设置链接中的参数?即我想这样做:

<Link to={MY_ROUTE} params={{userId: 1}} />

但是参数完全被忽略了……查询只是使查询(?userId =)不是参数……有什么想法吗?

伊洛德·索波斯

取自React Router官方文档

从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

路由器链接API

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React Router深层链接

来自分类Dev

函数不传入参数 - React Redux

来自分类Dev

ReactJS React Router参数

来自分类Dev

使用链接测试React Router

来自分类Dev

设置React Router链接的样式

来自分类Dev

使用带有可选URL参数的react-router链接设置活动类

来自分类Dev

在react-router-dom链接中传递参数不能正常工作

来自分类Dev

如何使用React Router v6将参数传递给链接?

来自分类Dev

使用React-Native监听Android上的传入链接

来自分类Dev

使用React Router的多个参数

来自分类Dev

React Router中的多个参数

来自分类Dev

使用React Router的多个参数

来自分类Dev

通过React Router传递参数

来自分类Dev

React Router传递参数。如何?

来自分类Dev

React Router无法传递参数

来自分类Dev

如何使用React正确设置react-router-dom链接

来自分类Dev

在React Router中传递其他参数

来自分类Dev

使用React Router访问URL参数?

来自分类Dev

在React-Router中保留查询参数

来自分类Dev

React Router,在参数后嵌套路由

来自分类Dev

参数不起作用的React Router

来自分类Dev

React Router,在参数后嵌套路由

来自分类Dev

参数不起作用的React Router

来自分类Dev

在React Router中传递可选参数

来自分类Dev

react-router 中的 URL 参数问题

来自分类Dev

React和React-Route链接参数不起作用

来自分类Dev

react-router v2.0深层嵌套组件传入了额外的意外URL

来自分类Dev

React-Router在新标签页中打开链接

来自分类Dev

React-Router:如何测试渲染链接的href?