Реагировать на событие навигации на том же экране

#react-native #react-navigation

#реагировать — родной #реагировать-навигация

Вопрос:

В настоящее время я использую событие «didFocus» в навигации React, которое отлично работает в большинстве моих случаев. У меня возникла проблема, когда экран один и тот же, и это событие не срабатывает.

Есть ли событие в React Navigation, которое происходит, когда пользователь находится на том же экране при навигации?

Комментарии:

1. Чего именно вы хотите достичь?

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

3. Я также сталкиваюсь с этой проблемой, вы когда-нибудь могли найти решение для этого @gamingumar?

4. @saadq обходной путь, который я нашел, заключался в том, чтобы прикрепить пользовательское событие к tabBarOnPress. Когда экран монтируется, я прикрепляю метод к реквизитам навигации с помощью navigation.setParams(). В onTabPress defaultNavigationOptions я смог получить доступ к этому методу в navigation.state.routes[0].params

Ответ №1:

При повторном запуске маршрута (например, при изменении параметров маршрута) это приведет к срабатыванию componentDidRecieveProps