Получение данных AsyncStorage по обратной навигации в реагировать на натив

У меня есть домашний экран, который извлекает некоторые данные из AsyncStorage в componentDidMount(), я использую StackNavigator перейти с моего домашнего экрана на другой экран, чтобы добавить некоторые данные в AsyncStorage который также должен отображаться на главном экране. Благодаря StackNavigator У меня есть стрелка назад на втором экране, которая позволяет вернуться к моему домашнему экрану. Мой домашний экран componentDidMount() не вызывается при этой обратной навигации, поэтому мой домашний экран не обновляется с добавлением новых данных, которые я добавил.

Я не знаю, где взять AsyncStorage в моем домашнем экране сейчас.

1 ответ

Решение

Это не связано с AsyncStorageпроисходит то, что react-navigation монтирует экраны только один раз (таким образом, componentDidMount) за установленный навигатор.

Я предполагаю, когда вы загружаете данные из AsyncStorage Вы сохраняете его во внутреннее состояние компонента, чтобы сохранить его в редуксе или использовать в качестве параметров подкомпонента. Что-то вроде реакции. Таким образом, вы можете передать обратный вызов на второй экран, который изменяет это внутреннее состояние с помощью setState, таким образом вызывая повторное рендеринг, или вы можете сохранить новые данные в избыточном и соединить магазин и домашний экран.

Другие вопросы по тегам