Условный ящик с реагирующей навигацией - PullRequest
0 голосов
/ 15 октября 2019

У меня есть условная навигация в 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, это не останавливает рендеринг в любое время.

Как я могу это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...