У меня есть следующий редуктор:
export default function UserReducer(state = initialState, action){
let nextState;
switch(action.type){
case USER_RECOVERY_CODE_VALIDATED:
nextState = {
...state,
recoverycodevalidated : action.payload.recoverycodevalidated
}
return nextState;
default:
return state;
}
}
И мой компонент подключен к магазину таким образом:
function mapStateToProps(state) {
console.log("updated");
return { recoverycodevalidated: state.user.recoverycodevalidated };
}
export default connect(mapStateToProps)(ResetPasswordCodeScreen)
И когда реквизиты меняются благодаря функции mapStateToProps , я перенаправляю пользователя на следующий экран:
async componentWillReceiveProps(newProps){
console.log("updated props");
if(newProps.recoverycodevalidated){
this.props.navigation.navigate("ResetPasswordFinal", { userId: this.props.navigation.state.params.userId});
}
}
Проблема в том, что когда состояние обновляется в первый раз и значение recoverycodevalidated устанавливается в подпорках, второй раз, если значение переменной такое же реквизиты не обновляются, так как метод componentWillRecieveProps не запускается, даже если mapStateToProps запускается каждый раз. Что я делаю не так?