Как проверить условие в возвращении рендера, используя реагировать родной? - PullRequest
0 голосов
/ 21 апреля 2020

В моем сценарии я пытаюсь создать validation logi c в рамках возврата. У меня есть asycstorage значение. Я получаю значение и проверяю его, используя приведенный ниже код

render() {
    const value = AsyncStorage.getItem(‘username’);
  return (
{value !== null &&
        (<View
        ……………..
         </View> )}
)}

Выше код не проверяется также на основе результата проверки, он не отображается. Если значение не равно нулю, значит, мне нужно сделать вид. Как этого добиться?

1 Ответ

0 голосов
/ 21 апреля 2020

Как уже говорилось, AsyncStorage возвращает обещание. Способ сделать то, что вы хотите, это использовать состояние, чтобы знать, когда обещание было выполнено. Однако перед рендерингом вы должны вызвать функцию AsyncStorage.

didComponentMount() {
    AsyncStorage.getItem(‘username’).then((res)=>{this.setState({gotUsername: true}); value = res;});
}

render(){
    if(!this.state.gotUsername) {
        return value !== null &&
         (<View

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