0

Я разрабатываю ответное родное приложение. Я использую библиотеку react-native-router-flux для навигации в приложении.response-native-router-flux: No React метод жизненного цикла вызывается на обратную навигацию

Библиотека работает нормально, но в то время как обратный переход не реагирует на метод жизненного цикла.

предположим, например. Я нажал кнопку «Назад» на стр. 2, он перешел на страницу 1, и вызываемый компонентWillUnmount() на стр. 2 вызван, но никакие методы жизненного цикла страницы 1 не называются.

Я хочу обновить страницу 1 согласно новому состоянию.

Любая помощь была бы принята с благодарностью.

+0

Опубликуйте код, и есть много способов добиться того, чего вы хотите. – octohedron

ответ

0

При переходе назад по умолчанию Actions.pop() вызывается без аргументов. Чтобы обновить страницу 1, вам необходимо переопределить функциональность кнопки «Назад» и вызвать Actions.pop({refresh:{<propsToSetToPage1>}}). Это должно вызвать componentWillReceiveProps(nextProps) на странице 1, где nextProps - это новые реквизиты, которые вы помещаете в pop().

Ниже от документации React-нативный маршрутизатора потока в:

Actions.pop() will pop the current screen. It accepts following optional params: 
    {popNum: [number]} allows to pop multiple screens at once 
    {refresh: {...propsToSetOnPreviousScene}} allows to refresh the props of the scene that it pops back to 

PS. Если вы разрабатываете Android, вы можете захотеть сделать это, когда пользователь нажимает кнопку «Назад». Проверьте BackAndroid на официальную документацию React Native.