底部栏上的 React Navigation 停止后退按钮行为

React Navigation stop back button behaviour on bottom bar

嘿,我正在使用 React Navigation 的 createBottomTabNavigator() 并且我有一个自定义顶部栏,我用我自己的状态更新它。问题是当我点击一个标签时,每次导航都会调用监听器,因此如果您转到屏幕 2,顶部栏会进入错误状态,屏幕 2 的顶部栏会发生变化。当我按下顶部栏后退按钮时,它会返回到屏幕 1 并将顶部栏更改为屏幕 1 顶部栏。现在,如果我使用 bottombar 选项卡而不是使用 topbar 选项卡向后导航,它会将 topbar 从屏幕 2 保留下来。所以我的问题是,如果我按下底部栏,它会导航回初始屏幕,我是否可以以某种方式禁用它1.

 <Tab.Screen
      listeners={() => {
              switchTab(0);
            }}
            name="Input"
            children={() => (
              <SuchStackContainer
                ref={suchStackRef}
                switchStack={switchStack}
                listings={listings}
                setListings={setListings}
              />
            )}
            options={{
              tabBarLabel: 'Suche',
              tabBarIcon: ({color, size}) => (
                <Ionicons name="car" color={color} size={size} />
              ),
            }}
          />

我假设您正在使用 Bottom Tabs Navigator from React Navigation. As mentioned in the docs,您可以覆盖 onPress 方法并将其导航到所需的选项卡。这些可以在 Tab.navigatorscreenOptions 属性或 Tab.Screen 的选项属性下指定。如果您还需要我的帮助,请告诉我

function MyTabBar({ navigation }) {
  return (
    <Button
      title="Go somewhere"
      onPress={() => {
        // Navigate using the `navigation` prop that you received
        navigation.navigate('SomeScreen');
      }}
    />
  );
}