reactjs - React Navigation Reset Stack Navigator 这是子导航
问题描述
我有一个 TabNavigator 由createBottomTabNavigator
createBottomTabNavigator({
Tab1: View1,
Tab2: createStackNavigator({
SubScreen1: View2,
SubScreen2: View3
}),
Tab3: createStackNavigator({
SubScreen3: View4,
SubScreen4: View5,
SubScreen5: View6
}),
})
现在让我们说我在Tab3
做一些事情,SubScreen3
然后按next
,同样的SubScreen4
,,next
现在我在Tab3/SubScreen5
,我想要this.props.navigation.navigate('Subscreen 2')
哪个工作正常,但是当我Tab3
再次去时它仍然在SubScreen5
。
想要的是重置Tab3
回SubScreen3
每次我转到其他选项卡时。
我试过
navigation.dispatch(
StackActions.reset(
{
index:0,
actions:[NavigationActions.navigate('SubScreen2')]
})
);
但这没有用。
解决方案
我认为这是因为 SubScreen2 还没有在堆栈中。尝试这个。
navigation.dispatch(
StackActions.reset(
{
index:0,
key: null,
actions:[NavigationActions.navigate({
routeName: 'Tab2',
action: NavigationActions.navigate({routeName: 'SubScreen2'})
})]
})
);
推荐阅读
- python - C DLL (unitybridge.dll) 对 Python 函数的异步回调
- qt - Qt qml中如何根据滑块值变化在QSlider上添加标记
- reactjs - ReactJs 在尝试使用延迟加载时变得懒惰,得到 'window; 未定义错误
- java - FireBase android:用户注册不起作用
- java - 如何在没有 Maven 的 Java 程序中包含 swagger-parser?
- c# - 为什么序列化 NameValueCollection 会导致数据丢失?
- android-studio - Flutter,Dart:没有使用局部变量'uint8list'的值。即使使用了声明的变量也会显示
- google-cloud-platform - 使用 jdbc 连接到 Google Cloud Spanner Emulator 时,需要不需要的凭据
- c# - 在 C# 中使用多个参数查找项目列表的平均值,并从列表中获取索引元素
- android-fragments - 更新到 androidx.fragment:fragment:1.3.0-alpha08:在 onCreate 之后不再允许 registerForActivityResult。onCreate后如何使用?