Получение данных AsyncStorage по обратной навигации в реагировать на натив
У меня есть домашний экран, который извлекает некоторые данные из AsyncStorage
в componentDidMount()
, я использую StackNavigator
перейти с моего домашнего экрана на другой экран, чтобы добавить некоторые данные в AsyncStorage
который также должен отображаться на главном экране. Благодаря StackNavigator
У меня есть стрелка назад на втором экране, которая позволяет вернуться к моему домашнему экрану. Мой домашний экран componentDidMount()
не вызывается при этой обратной навигации, поэтому мой домашний экран не обновляется с добавлением новых данных, которые я добавил.
Я не знаю, где взять AsyncStorage
в моем домашнем экране сейчас.
1 ответ
Это не связано с AsyncStorage
происходит то, что react-navigation
монтирует экраны только один раз (таким образом, componentDidMount
) за установленный навигатор.
Я предполагаю, когда вы загружаете данные из AsyncStorage
Вы сохраняете его во внутреннее состояние компонента, чтобы сохранить его в редуксе или использовать в качестве параметров подкомпонента. Что-то вроде реакции. Таким образом, вы можете передать обратный вызов на второй экран, который изменяет это внутреннее состояние с помощью setState, таким образом вызывая повторное рендеринг, или вы можете сохранить новые данные в избыточном и соединить магазин и домашний экран.