当我为我的应用程序使用createBottomTabNavigator时,它在iOS和Android上都很完美。但当我将其更改为createMaterialTopTabNavigator时,它会在Android上的一个标签上单击后停止导航(iPhone模拟器工作正常)。我仍然可以左右滑动到不同的标签,但标签栏不再重定向。该应用程序不会冻结,它响应良好,但重定向不会发生。如果我将它更改为createBottomTabNavigator,它再次完美地运行。可能是什么问题?我在真正的Android设备上测试过它,仍然是相同的。没有tabBar选项或其他任何东西。最奇怪的是滑动仍然有效。
const JournalStack = createStackNavigator({
Journal: JournalScreen,
ActivityDetail: ActivityDetailsScreen,
})
const HomeStack = createStackNavigator({
Home: HomeScreen,
})
const TasksStack = createStackNavigator({
Tasks: TasksScreen,
})
export const MainTabs = createMaterialTopTabNavigator({
Journal: JournalStack,
Home: HomeStack,
Tasks: TasksStack,
})
这是一个小视频,展示了问题https://i.imgur.com/34gPrIJ.mp4
这是一个已知问题https://github.com/react-navigation/react-navigation/issues/5684,它可以使用该问题中的步骤修复,或使用反应导航选项卡https://github.com/react-navigation/react-navigation-tabs/releases/tag/v2.0.0-alpha.0的最新版本(alpha)。但是,您需要将reanimated添加为依赖项,但它必须具有真正高效的动画库并修复旧设备的性能