正文  电脑教程 > 服务器教程 >

react如何在组件中获取路由参数

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

路由参数

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

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

import List from ‘./component/list‘;

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

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

/list 对应了 list.js

import React from ‘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 相对应),React Router 将路由的数据都通过 props传递给了页面组件,这样就可以非常方便的访问路由相关的数据了。