React-Native: повторная визуализация приложения при изменении состояния (изменение состояния проверки подлинности) - PullRequest
0 голосов
/ 28 мая 2018

В настоящее время я проверяю, авторизован ли пользователь во время запуска приложения, и на основании результата я отображаю приложение.Тем не менее, пользователь может войти в систему или выйти из нее во время использования приложения, и я хочу повторно выполнить рендеринг приложения в этих случаях, чтобы моя логика оставалась в одном месте (т. Е. При запуске приложения).
Есть ли способ достичьтот?

Ответы [ 2 ]

0 голосов
/ 29 мая 2018
render() {
    const { authorised } = this.state;
    const userMessage = authorised ? "authorized" : "unauthorized";

    return (
         <View>
             <Text>{ userMessage }</Text>
         </View>
    )
}

Вы также можете использовать реквизиты для поддержания статуса пользователя и визуализации компонентов / сообщений на основе значений реквизитов.

0 голосов
/ 28 мая 2018

По умолчанию при изменении state функция render будет вызываться снова.Вы можете изменить render функцию на основе state, а затем, когда это state изменилось, view изменилось ... например:

render() {
    return (
         <View>
             {
                 this.state.authorized == true ?
                     <Text>authorized</Text>
                 :
                     <Text>unauthorized!</Text>
             }
         </View>
    )
}

, поэтому, когда this.state.authorized изменится,Функция render показывает различные значения view в зависимости от state.

Но если вы хотите перезапустить приложение после изменения state, вы можете использовать React Native Restart package и перезапуститьприложение, когда вы хотите.Невозможно перезапускать ваше приложение при каждом state изменении, поскольку в жизненном цикле RN много state изменений, и ваше приложение будет часто перезагружаться.Я надеюсь, что это поможет вам.

...