路由参数
假如我们有很多 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
传递给了页面组件,这样就可以非常方便的访问路由相关的数据了