react-router-dom路由传参及获取方法
时间: 2024-05-17 10:18:40 浏览: 177
详解react如何在组件中获取路由参数
5星 · 资源好评率100%
React Router Dom 提供了多种传递参数的方式,以下是其中几种常用的方法:
1. Query Parameters
通过 URL 上的查询参数传递参数,例如:`/user?id=123&name=John`。在组件中可以通过 `props.location.search` 来获取查询参数字符串,然后再解析出其中的具体参数值。
2. URL Parameters
通过在路由路径中设置参数占位符来传递参数,例如:`/user/:id`。在组件中可以通过 `props.match.params` 来获取参数对象。
3. State
通过 `Link` 组件的 `state` 属性传递参数,例如:`<Link to={{ pathname: '/user', state: { id: 123 } }}>User</Link>`。在组件中可以通过 `props.location.state` 来获取参数对象。
4. Location
通过 `history.push` 或 `history.replace` 方法传递参数,例如:`history.push({ pathname: '/user', search: '?id=123', state: { id: 123 } })`。在组件中可以通过 `props.location` 来获取包含参数信息的 location 对象。
获取参数的方式不同,根据传参方式的不同,获取方式也会有所不同。例如,获取查询参数的方式是 `props.location.search`,获取 URL 参数的方式是 `props.match.params`。需要根据具体的传参方式,来选择正确的获取参数的方法。
阅读全文