【发布时间】:2021-09-18 01:12:57
【问题描述】:
我有一个应用程序,它使用 this.props.navigation.navigate('Screen',{order}) 将屏幕 1 中的订单作为参数传递到屏幕 2 并在屏幕 2 中执行一些操作。然后我使用抽屉侧边菜单导航到另一个屏幕。当我使用抽屉菜单返回屏幕 2 时,订单仍在参数中(路线未重置)。 我在我的项目中使用类 Component 并且当我尝试在 componentWillUnmount 中放置类似重置的东西时,但是 react native 不允许我这样做,因为这将是一个异步调用。
在我的订单课程中我做了(屏幕 2):
componentWillUnmout() {
// some code
this.props.navigation.reset();
}
在屏幕 1 中我做了:
this.props.navigation.navigate('Screen 2', {order});
我尝试做这个问题中描述的事情:https://github.com/react-navigation/react-navigation/issues/6915 但我没有成功。
在这种情况下如何重置此参数?当导航到抽屉菜单中的另一个页面时,我可以设置一个监听器来重置路由吗?
【问题讨论】:
-
我能够通过在页面中接收参数后清理参数来解决问题。这不是我想做的,但它奏效了。
标签: react-native react-navigation navigation-drawer react-navigation-v5