У меня есть компонент экрана загрузки в React Native. Всякий раз, когда изменяется состояние аутентификации, я перехожу к нужному экрану.
Когда пользователь находится в процессе регистрации, я отмечаю состояние избыточности как isRegistering = true. Это связано с тем, что после того, как регистрация завершена с помощью firebase, я все еще хочу показать экран завершения регистрации и отключить автоматическую навигацию с экрана загрузки в зависимости от состояния авторизации.
Проблема, похоже, заключается в том, что когда событие вызывается при изменении аутентификации, состояние избыточности является пустым. Это событие, которое я знаю из отладки, что в состоянии избыточности были данные до и сразу после события. Но во время события и проверки isRegistration в Redux состояние полностью пустое (сброс до состояния по умолчанию).
Я проверил все свои действия, редуктор и т. Д. Ничего не вызывается, Указанный избыточный код просто проверяется в момент события authstatechanged и в этот момент у него нет данных, даже если данные были там раньше это.
componentDidMount() {
firebase.auth().onAuthStateChanged(user => {
if (this.props.userObject.isRegistering === false) {
this.props.navigation.navigate(user ? 'MainScreen' : 'LandingPage')
}
})
}
const mapStateToProps = (state) => {
return {
userObject: state.user
}
}