React Native + Firebase: состояние обновления в дочернем компоненте - PullRequest
0 голосов
/ 02 мая 2020

Я читаю информацию о документе из Firebase и показываю ее в форме. Форма состоит из 3 детских форм. Прямо сейчас я загружаю информацию о документе в состоянии формы (компонента), а затем передаю ее дочерним элементам, например:

{this.state.activeTabIndex == 0  && (
    <InformationForm 
       navigation={this.props.navigation}
       property={this.state}
       showSaving={this.showSaving}
     />
 )}

Но поскольку происходит задержка переноса информации из Firebase, состояние передается пустым в дети. Когда состояние обновляется, мне нужно обновить состояние детей.

Я обнаружил, что могу сделать трюк с сочетанием «getDerivedStateFromProps» и «componentDidUpdate», но, поскольку у документа много свойств, он будет слишком медленным чтобы сравнить, какое поле изменилось для запуска обновления состояния или нет.

На данный момент я добавил состояние "isReady", которое устанавливается в значение true, когда информация из документа загружается в состояние, но я думаю, что это Должны быть лучшие способы справиться с этим.

{this.state.activeTabIndex == 0 && this.state.isReady == true && (
              <InformationForm 
                navigation={this.props.navigation}
                property={this.state}
                showSaving={this.showSaving}
              />
            )}

Есть предложения?

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