在React Native Android中,当从随后的屏幕返回按钮时,组件是否重新安装?
每当用户进入屏幕时,我都需要将屏幕更新到服务器上,因此将AJAX调用放在componentDidMount()方法中。AJAX是在navigator.push()进入屏幕时调用的,但是当它从随后的屏幕(navigator.pop()返回按钮时调用的。我的理解是,当navigator推到下一个屏幕时,组件被卸载,而当返回时,组件被重新装载。我的理解错了吗?似乎componentDidMount()不是在下面的屏幕中的navigator.pop()之后调用的在React Native Android中,当从随后的屏幕返回按钮时,组件是否重新安装?,android,react-native,Android,React Native,每当用户进入屏幕时,我都需要将屏幕更新到服务器上,因此将AJAX调用放在componentDidMount()方法中。AJAX是在navigator.push()进入屏幕时调用的,但是当它从随后的屏幕(navigator.pop()返回按钮时调用的。我的理解是,当navigator推到下一个屏幕时,组件被卸载,而当返回时,组件被重新装载。我的理解错了吗?似乎componentDidMount()不是在下面的屏幕中的navigator.pop()之后调用的 非常感谢 组件在堆栈中向前移动(添加路由
非常感谢 组件在堆栈中向前移动(添加路由)时不会卸载。对于您想要做的事情,您需要有一个组件监听didfocus或willfocus,并检查即将在回调中显示的路由 文件: 用法示例:
破解它的一种方法是对BackAndroid回调进行条件检查。例如,通过在路由堆栈中执行循环,如果其中有后续页面,则不要调用navigator.pop方法。这样,“后退”按钮侦听器仅在添加它们的页面及其附属抽屉页面中工作