我有两个独立的组件,分别称为login和home。我已经在登录组件中使用mapStateToProps来传递数据。
function mapStateToProps(state) {
return { loginData: state.agent };
}
export default withRouter(connect(mapStateToProps)(login));
从登录组件中单击按钮会将我们导航到主页。我想获取并显示home组件中的所有“ loginData”值。 我已经在home comp中尝试过this.props.loginData。但是没有得到商店数据。有什么建议吗?
答案 0 :(得分:1)
要访问首页组件中的this.props.loginData
,即使在该位置也需要使用
mapStateToProps ,就像您在登录组件中使用的方式一样。
function mapStateToProps(state) {
return { loginData: state.agent };
}
export default withRouter(connect(mapStateToProps)(homepage));
然后您将可以访问this.props.loginData
如果您想访问Redux存储中任何组件的数据,则需要使用 connect 并使用mapStateToProps
将存储值连接到道具。
答案 1 :(得分:0)
我的建议是触发一个操作,以将用户登录后输入的详细信息填充到redux存储中。 之后,可以使用主页中的mapStateToProps从redux存储获取详细信息。
答案 2 :(得分:0)
您可以通过状态属性传递数据
如果您使用的是history.push
How to pass params with history.push in react-router v4?
与重定向类似
https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/api/Redirect.md