Навигатор ящика показывает странное поведение

Я использую react-navigation v5 в моем проекте рабочего процесса, управляемом экспо, и я заметил, что каждый второй раз, когда я посещаю экран, прикрепленный к навигатору ящика, методы жизненного цикла не вызываются ...

Вот пример:

- DrawerNavigator
  - Screen1
  - Screen2

При первом посещении Screen1 вызывается ловушка useEffect и извлекаются все мои данные. Как только я перехожу с него (перехожу к экрану 2) и возвращаюсь к экрану 1, ничего не происходит (данные не извлекаются снова) ... Что-то мне не хватает, потому что я хочу при каждом посещении экрана * перезапускать мои данные (повторная загрузка)?

Спасибо!


person mSenad    schedule 25.09.2020    source источник


Ответы (1)


Вам нужно будет использовать useFocusEffect, который будет запускаться каждый раз при загрузке экрана.

Вы можете найти ссылку здесь https://reactnavigation.org/docs/use-focus-effect/

useEffect так не работает, поэтому, когда вы вернетесь к screen1, который уже смонтирован и находится в стеке, эффект не будет работать.

person Guruparan Giritharan    schedule 25.09.2020
comment
Спасибо за комментарий! Это именно то, что я сделал, и это работает. - person mSenad; 25.09.2020