Как обновить предыдущие параметры экрана с текущего экрана в реакции навигации 5 - PullRequest
0 голосов
/ 13 февраля 2020

В react-navigation 4 я передавал function в качестве параметра на экран навигации. Но в реакции-навигации 5 есть предупреждение, которое не рекомендуется. Так как же теперь обновить параметры предыдущего экрана с текущего экрана?

Пример:

  1. Я нахожусь в группе чата.
  2. Я нажимаю на изображение группы.
  3. На новом экране я обновляю имя группы.
  4. Теперь я возвращаюсь назад, нажимая hardware back button.
  5. И теперь имя группы должно быть новым обновленным именем.

Так как это возможно ??

Я знаю, что могу использовать navigation.navigate() до go назад с параметрами, но в большинстве случаев там пользователи используют нажатие аппаратной кнопки назад вместо щелкнув стрелку назад.

Ответы [ 2 ]

1 голос
/ 14 февраля 2020

Вы можете использовать хранилище (используя приставку, хуки или локальное хранилище). Затем вы можете использовать Navigation events => focus метод, когда экран фокусируется. Затем вы можете получить обновленные данные магазина и повторно обработать пользовательский интерфейс.

1 голос
/ 14 февраля 2020

Вы можете использовать новый способ обработки аппаратной кнопки возврата, описанный здесь: https://reactnavigation.org/docs/en/custom-android-back-button-handling.html#__docusaurus

Но я не думаю, что вам следует go таким образом. Вам следует подключить имя группы к локальному хранилищу и просмотреть эту переменную в функции рендеринга. Лучше позволить рендеру обновляться самостоятельно, а не пытаться выполнить принудительную ссылку refre sh с обратным обработчиком.

...