利用NavigationActions.reset()方法重置路由一直报错
undefined is not a function(evaluatingreactnavigation. Navigationactions. reset)
原因: NavigationActions.reset() 方法已经被删除了,可以使用StackActions
StackActions是一个对象,包含用于生成特定于基于堆栈的导航器的操作的方法。其方法扩展了NavigationActions中可用的操作。
支持以下操作:
Reset - 用新状态替换当前状态
Replace - 用另一条路线替换给定键的路线
Push - 在堆栈顶部添加路由,然后向前导航到该路径
Pop - 导航回以前的路线
PopToTop - 导航到堆栈的顶部路径,解除所有其他路径
以下是重置路由完整代码
import { StackActions,NavigationActions } from 'react-navigation'
const resetAction = StackActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'Login'}), //Login 要跳转的路由
]
})
this.props.navigation.dispatch(resetAction);