我是新与反应母语和终极版,我想知道我怎样才能发出后更新状态后,得到国家更新中...如何调度
按照我的代码:
/LoginForm.js
function mapStateToProps(state) { return { user: state.userReducer }; }
function mapDispatchToProps(dispatch) {
return {
login: (username, password) => {
dispatch(login(username, password)); // update state loggedIn
}
}
}
const LoginForm = connect(mapStateToProps, mapDispatchToProps)(Login);
export default LoginForm;
/Login.js ---在这里,我一个按钮,调用此方法loginOnPress()
loginOnPress() {
const { username, password } = this.state;
this.props.login(username, password);
console.log(this.props.user.loggedIn)
}
根据上述我的代码,我称第一方法'this.props.login(用户名,密码);',它调用调度并更改状态'loggedIn'。
此后,我试图让状态更新,但没有成功:
console.log(this.props.user.loggedIn)
注:当我点击第二次这个按钮状态变为更新
您应该检查道具'componentWillReceiveProps'生命周期钩子的变化,因为当你在尝试设置它们后检查下一行的道具时,它们的变化可能还没有传播回你的组件。 – wostex