我有一个TabNavigator,一个标签是嵌套的StackNavigator。当用户导航到StackNavigator的最终屏幕时,由于最终屏幕是确认屏幕,因此将重置堆栈,并且用户不应能够向后滑动并重新提交其操作。这可以通过直接重置来实现:
const resetAction = StackActions.reset({
index: 0,
actions: [NavigationActions.navigate({ routeName: 'transactionCompleted' })],
});
this.props.navigation.dispatch(resetAction);
然后,他们可以转到另一个选项卡(用户在此处单击一个按钮,该按钮仅调用props.navigation.dismiss()以关闭堆栈并返回默认选项卡),因此返回该选项卡,此时堆栈仍在堆栈的最后一个屏幕上。
我无法弄清楚如何将该堆栈的状态重置回其初始状态,以便用户可以重新浏览整个堆栈。
我觉得这可能很简单,我已经错过了一些显而易见的东西,但是似乎无法从tabnavigator组件中找到stacknavigator以便对其状态进行任何操作。