React Native:从导航堆栈中删除后退按钮?

Posted

技术标签:

【中文标题】React Native:从导航堆栈中删除后退按钮?【英文标题】:React Native: Remove a back button from navigation stack? 【发布时间】:2020-05-24 16:34:17 【问题描述】:

所以我有一个不断向其中添加页面的导航堆栈。用户可以转到上一页或下一页。就像一个注册页面。

例如,这里是一个有 3 个屏幕的页面(上一页、当前页、下一页)

function MyStack() 
  const Stack = createStackNavigator();
  return (
    <Stack.Navigator>
      <Stack.Screen
        name="Current"
        component=ContentFunction
        options=headerTransparent: true, headerTitle: ''
      />
      <Stack.Screen name="Back" component=BackFunction />
      <Stack.Screen
        name="Next"
        component=FirstNamePage
        options=
          headerTransparent: true,
          headerTitle: '',
          headerBackTitle: 'Gender',
        
      />
    </Stack.Navigator>
  );

问题是,按钮堆叠在一起。见下文。

我需要删除旧按钮,但我不知道该怎么做。当然我可以通过设置来做到这一点:

   <Stack.Screen
        name="Next"
        component=FirstNamePage
        options=
          headerLeft: null
        
      />

但我不能这样做,除非我在那个特定的功能上。我该怎么做?

【问题讨论】:

【参考方案1】:

试试这个

    <Stack.Navigator
      screenOptions=
        headerShown: false
      
    >

  <Stack.Screen name="route-name" component=ScreenComponent />
</Stack.Navigator>

参考:- Hide header in stack navigator React navigation

【讨论】:

以上是关于React Native:从导航堆栈中删除后退按钮?的主要内容,如果未能解决你的问题,请参考以下文章

使用 react-native-router-flux 删除抽屉页面的后退按钮

如何在 React Native 中的启动画面后禁用后退按钮

React-Native:导航到堆栈导航器中的抽屉

在特定屏幕上使用反应导航修改后退按钮

在本机反应中处理设备后退按钮

我在从导航堆栈中删除 ViewController 时遇到问题?