react如何在组件中获取路由参数?this.props.params.id

路由参数

假如我们有很多 list 页面,这些页面除了动态内容不同,其他的页面部分都相同,这个时候需要怎么配置路由和组件呢?

这种场景就需要用到路由的参数功能,增加一条包含参数的路由配置。

import List from './component/list';

<Route path="list/:id" component={List} />

注意path属性中的:id就是该路由的参数(param)。再来看看List页面的组件。

/list对应了list.js

import React 'react';
class List extends React.Component {
	render () {
		return (
			<div>
				h3>This is List page.</h3>
				p>The list page id is 
					b style={{color: 'red'}}>{this.props.params.id}b>
				p>
			div>
		);
	}
};
export default List;

List组件中,可以直接通过this.props.params.id来访问实际的参数值(这里的id key 就和定义路径的:id相对应),ReactRouter 将路由的数据都通过props传递给了页面组件,这样就可以非常方便的访问路由相关的数据了

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...