React 列表页面传递参数
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:30
React 列表进入详情页面
首先安装 react-router-dom (4.0) npm/yarn install react-router-dom
路由跳转配置
列表 父组件 this.props.history.push( { pathname:‘/detail’, state: data } )
上述的data 为明细的数据
那么详情页面如何接收父组件的数据呢?
const detaildata = this.prop.location.stata.data
注意如果 父组件进入详情页面 this.props.history.push();这个报错时. 引入 import { withRouter } from ‘react-router’即可。
部分代码如下
列表组件
import React, { Component } from ‘react’
import { withRouter } from ‘react-router’;
export class List extends Component {
constructor(props) {<br/>
super(props);<br/>
this.state={<br/>
list: [<br/>
{
“author”: “acemarke”,
"points": 125,<br/>
"story_text": null,<br/>
"comment_text": null,<br/>
"num_comments": 32,<br/>
"story_id": null,<br/>
"story_title": null,<br/>
"story_url": null,<br/>
"parent_id": null,<br/>
"created_at_i": 1460737187,<br/>
"relevancy_score": 6666<br/>
},<br/>
{
“author”: “jlongster”,
"points": 124,<br/>
"story_text": null,<br/>
"comment_text": null,<br/>
"num_comments": 54,<br/>
"story_id": null,<br/>
"story_title": null,<br/>
"story_url": null,<br/>
"parent_id": null,<br/>
"created_at_i": 1448479344,<br/>
"relevancy_score": 6397<br/>
},<br/>
{
“author”: “myth_drannon”,
"points": 123,<br/>
"story_text": null,<br/>
"comment_text": null,<br/>
"num_comments": 78,<br/>
"story_id": null,<br/>
"story_title": null,<br/>
"story_url": null,<br/>
"parent_id": null,<br/>
"created_at_i": 1499396674,<br/>
"relevancy_score": 7526<br/>
}]<br/>
}<br/>
}
viewdetail (item) {
this.props.history.push({ pathname: '/detail', state: {data:item} })<br/>
}<br/>
render() {<br/>
return (<br/>
<div><br/>
{ths.state.list.map(item => {<br/>
return (<br/>
<div key={item.points} onClick={ ()=>this.viewdetail(item)} ><br/>
<span>{item.author}</span><br/>
<span>{item.num_comments}</span><br/>
<span>{item.points}</span><br/>
</div><br/>
)<br/>
})}<br/>
</div><br/>
)<br/>
}<br/>
}
export default withRouter(List)
详情页面
import React, { Component } from ‘react’
export class DetailList extends Component {
constructor(props) {<br/>
super(props)<br/>
const data = this.props.location.state.data;<br/>
this.state={<br/>
data:data<br/>
}<br/>
}
render() {
return (<br/>
<div><br/>
<List><br/>
<div><br/>
{this.state.data.author}<br/>
</div><br/>
</List><br/>
</div ><br/>
)<br/>
}<br/>
}
export default DetailList
相关文章
-
react 组件动态 less modifyvars修改样式
react 组件动态 less modifyvars修改样式
- 互联网
- 2026年04月04日
-
react18 生命周期
react18 生命周期
- 互联网
- 2026年04月04日
-
react18用不了props.history.push
react18用不了props.history.push
- 互联网
- 2026年04月04日
-
react 函数组件 input 防抖
react 函数组件 input 防抖
- 互联网
- 2026年04月04日
-
react tab组件
react tab组件
- 互联网
- 2026年04月04日
-
React Router路由传参方式总结
React Router路由传参方式总结
- 互联网
- 2026年04月04日






