【发布时间】:2019-02-13 18:10:57
【问题描述】:
我正在从事一个项目,我必须将数据从一个页面传递到另一个页面。
例如,我在第一页有data。
let data = [
{id:1, name:'Ford', color:'Red'},
{id:2, name:'Hyundai', color:'Blue'}
]
这是我使用名称呈现此数据列表的第一个组件页面。
class ListDetail extends Component {
constructor();
handleClick(data){
console.log(data);
}
render() {
return (
<div>
<Hello name={this.state.name} />
<ul>
{data.map((data,i) => {
return <li onClick={this.handleClick.bind(this,data)}>{data.name}</li>
})}
</ul>
</div>
);
}
}
我想将此数据传递到需要此数据和更多数据的下一页。我正在使用 React Router 4。任何建议或帮助都会有所帮助。
【问题讨论】:
-
@Andrew 有很多方法可以做到这一点。你在使用像 Redux 这样的状态管理系统吗?如果是这样,这些数据应该存储在你的 Redux 存储中,所有路由都可以使用它。如果没有,我建议这样做——这需要一点时间来学习,但一旦你学会了,会让你的生活更轻松......
-
安德鲁,替代我的答案,您还可以使用React Context API 在组件之间传递数据,当它们位于树的更深处时。这是一个选项,但如果您正在处理大量数据。我建议按照 Duhaime 的建议看一下 Redux。这是一个学习曲线,但Redux on egghead.io 上的免费课程会让你做好准备。该课程由 redux 的创建者 Dan 制作。
标签: javascript reactjs react-router