Задать вопрос
@Jasulan98

Как обновить данные на моей предыдущей странице при возвращении к ней?

Я использую React Navigation в своем приложении. Как обновить reducer на моей предыдущей странице при возвращении к ней?

Практический пример: В настоящее время в странице А я перейду к странице B , где я обновляю данные в моей reducer , которая отображается в странице A . После того, как я перейду () в страницу A после изменения данных в reducer, я хочу, чтобы страницу A теперь перезаписала и содержала новые данные из reducer.Данные обновляются тогда когда из главной страницы перейду на страницу A. ShouldComponentUpdate() вообще не видит обновление,а значение nextProps, nextState все также не обновлялся?
  • Вопрос задан
  • 181 просмотр
Подписаться 2 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 1
@greenais
1. в руте прилады:
const doUpdateA = ()=> {
this.setState({updateA: +new Date()})
}
и пропсами передать doUpdateA и this.state.updateA вниз по стеку navigation
2. в B перед переходом назад вызвать doUpdateA
3. в А:
static getDerivedStateFromProps(nextProps, currentState) {
if (nextProps.updateA !== currentState.updateA ) {
return {updateA : nextProps.updateA}
componentDidUpdate(prevProps, prevState) {
if (this.state.updateA !== prevState.updateA) {
// do update A stuff
}
Как-то так.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы