У меня есть прослушиватель, настроенный с помощью withNavigationFocus
, так что каждый раз, когда пользователь выходит на экран или покидает экран, запускается определенное событие. Но я получаю следующую ошибку:
Предупреждение. Невозможно выполнить обновление состояния React для отключенного компонента. Это не работает, но это указывает на утечку памяти в вашем приложении. Чтобы исправить, отмените все подписки и асинхронные задачи
const PleaseSignIn = props => {
const {
state: { authOpen },
authModal
} = useContext(Context)
const focusListener = props.navigation.addListener('didFocus', () => {
retrieveToken()
})
const retrieveToken = async () => {
try {
const token = await AsyncStorage.getItem(LOGIN_TOKEN)
if(!token) {
authModal()
}
} catch (err) {
throw new Error(err)
}
}
if(!authOpen) {
return (
<View style={styles.container}>
<Auth navigation={props.navigation} />
<Signup navigation={props.navigation} />
<Signin navigation={props.navigation} />
</View>
)
}
return props.children
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
}
})
export default withNavigationFocus(PleaseSignIn)