在将initialRouteName与createMaterialTopTabNavigator一起使用时,我遇到了一个奇怪的问题。我的应用程序将选项卡保存在用户上次使用的位置,然后在用户重新进入应用程序时再次将其打开。我注意到了一个奇怪的行为(可能是react-navigation中的一个错误):有时initialRouteName可以正常工作,但其他时候它移至右侧选项卡(如选项卡名称正确),但内容仍然是第一个标签。
这似乎是随机发生的,我找不到对此的解释。就像只有标签标签移动一样,其余标签保持不变。你知道为什么会这样吗?
这是我的createMaterialTopTabNavigator代码:
return createAppContainer(createMaterialTopTabNavigator(tabs, {
initialRouteName: this.props.tabsNames.map(item => item.name).includes(this.props.lastOneOpened) ? this.props.lastOneOpened : this.props.tabsNames[0].name,
tabBarOptions: {
allowFontScaling: false,
style: {backgroundColor: "#FFF"},
scrollEnabled:true,
activeTintColor: "#000",
inactiveTintColor: Colors.colorTextDark,
labelStyle: {
fontSize: 12,
fontWeight: "bold"
},
},
tabBarPosition: 'top',
tabBarComponent: TabBarTop,
swipeEnabled: true,
animationEnabled: true,
}))