我是新與反應母語和終極版,我想知道我怎樣才能發出後更新狀態後,得到國家更新中...如何調度
按照我的代碼:
/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