react-native-router-flux:在后向导航

时间:2016-09-28 11:39:13

标签: reactjs react-native react-router navigator react-native-router-flux

我正在开发一个本机应用程序。我在应用中使用react-native-router-flux库进行导航。

该库工作正常,但在返回导航时没有反应生命周期方法被调用。

假设例如我按了第2页的后退按钮,导航到第1页,第2页的componentWillUnmount()被调用,但没有第1页的生命周期方法被调用

我想根据新状态刷新页面1。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

导航回来时,默认调用Actions.pop()时不带参数。要刷新第1页,您需要覆盖后退按钮的功能并调用Actions.pop({refresh:{<propsToSetToPage1>}})。这应该在第1页中触发componentWillReceiveProps(nextProps),其中nextProps是你放在pop()中的新道具。

以下内容来自react-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开发,您可能希望在用户按下硬件后退按钮时执行此操作。查看React Native官方文档中的BackAndroid