У меня есть поток входа в мое собственное приложение.Когда пользователь вводит свои учетные данные, отправляется действие, которое проверяет их, а затем отправляет другое действие, чтобы изменить состояние с помощью редуктора.
В моем компоненте я регистрируюсь для изменений следующим образом:
function mapStateToProps(state) {
return { userConnected: state.user.connected }
}
export default connect(mapStateToProps)(LoginScreen)
И я выполняю действие при получении новых реквизитов с этой функцией:
async componentWillReceiveProps(newProps){
if(newProps.userConnected){
this.props.navigation.navigate("Home");
}else{
this.showWrongCredentials();
}
}
Первыйвремя, когда пользователь вводит неверные учетные данные, реквизиты обновляются с подключением = false, поэтому отображается неверное сообщение с учетными данными.Если пользователь щелкает другой раз с неправильными учетными данными, состояние получит те же значения connected = false , поэтому метод componentWillReceiveProps не вызывается, и я не могу снова показать неправильное сообщение с учетными данными.
Как я могу это сделать?Каждый раз, когда состояние обновляется, даже если значения совпадают, я бы хотел, чтобы метод componentWillReceiveProps был запущен.