У меня есть условная навигация в app.js с asyncstorage.
В app.js у меня есть конструктор с изменяющим состояние AsyncStorage и в функции состояния показывается другой ящик:
constructor(props) {
super(props);
this.getData().then((vist) => {
if(vist !== null) {
this.setState({vist: 1});
} else {
this.setState({vist: 0});
}
});
}
getData = async () => {
try {
const value = await AsyncStorage.getItem('vist');
return value;
} catch(e) {
}
}
и в render:
render(){
return (
{ this.state.vist == 0 ?
<AppContainer
ref={navigatorRef => {
NavigationService.setTopLevelNavigator(navigatorRef);
}}
/>
:
<AppContainerFinal
ref={navigatorRef => {
NavigationService.setTopLevelNavigator(navigatorRef);
}}
/>
}
);
}
Проблема в том, что я изменяю asynstorage на другой странице, невозможно обновить app.js, чтобы изменить состояние в app.js
Если я помещаю setstate в render, это не останавливает рендеринг в любое время.
Как я могу это сделать?