response-native-router-flux: при обратной навигации не вызывается метод жизненного цикла React

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

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

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

Я хочу обновить страницу 1 в соответствии с новым состоянием.

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


person Kalpesh Wadekar    schedule 28.09.2016    source источник
comment
Разместите код, и есть много способов добиться того, чего вы хотите.   -  person octohedron    schedule 28.09.2016


Ответы (1)


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

Следующее взято из документации response-native-router-flux:

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.

person Georgios    schedule 28.09.2016