Перерисовать компонент при навигации по стеку с помощью React Navigation - PullRequest
0 голосов
/ 14 октября 2018

В настоящее время я использую react-navigation для навигации по стеку и вкладкам.

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

Какие стратегии мне следует рассмотреть?Я почти уверен, что это обычный шаблон проектирования, но я не смог увидеть документированные примеры.

1 Ответ

0 голосов
/ 14 октября 2018

События жизненного цикла React Navigation цитируется с реагировать-навигация

React Navigation генерирует события для компонентов экрана, которые подписываются на них.Вы можете подписаться на четыре различных события: willFocus, willBlur, didFocus и didBlur.Подробнее о них читайте в справочнике по API.


Давайте проверим это,

С слушателями навигации вы можете добавить к вашей странице Eventlistener и вызвать функциюкаждый раз, когда ваша страница будет сфокусирована.

const didBlurSubscription = this.props.navigation.addListener(
  'willBlur',
  payload => {
    console.debug('didBlur', payload);
  }
);

// Remove the listener when you are done
didBlurSubscription.remove();

Замените функцию полезная нагрузка и измените ее на функцию обновления.

Надеюсь, это поможет.

...