Я использую реагировать нативно с реакции-навигации v4
У меня есть домашний экран и экран приветствия. Я использую приставку для хранения пользователя, вошедшего в систему. На экране приветствия (перед тем, как пользователь войдет в систему) я сбрасываю пользователя на ноль, например:
useEffect(() => {
dispatch(updateCurrentUser(null));
});
На домашнем экране (после пользователь входит в систему), я перехожу к экрану приветствия с помощью кнопки выхода следующим образом:
<Button
title="Logout"
onPress={() => {
const resetAction = StackActions.reset({
index: 0,
actions: [
NavigationActions.navigate({routeName: "Welcome"}),
]
});
props.navigation.dispatch(resetAction);
// navigationData.navigation.pop();
// navigationData.navigation.navigate({routeName: "Welcome"});
}}
/>
После этого я получаю сообщение об ошибке всякий раз, когда нажимаю кнопку выхода из системы
, так как пользователь теперь имеет значение null, и на главном экране у меня есть следующий код <Text style={styles.text}>Welcome, {currentUser.username}!</Text>
, я получаю сообщение об ошибке, что null не имеет атрибута username, поскольку currentUser теперь имеет значение null.
Я не понимаю, почему домашний экран не размонтируется и отображается после сброса стека и перехода к экрану приветствия. В чем может быть проблема здесь?