无法在 Android 上的 React Native 中禁用后退按钮

问题描述 投票:0回答:1

在我的

App.js
中,我有以下内容:

import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';

import Main from './js/screens/main';
import Page from './js/screens/page';

const Stack = createNativeStackNavigator();

const headerOptions = {
  headerLeft: () => null,
};

export default () => {
  return (
    <NavigationContainer>
      <Stack.Navigator screenOptions={headerOptions}>
        <Stack.Screen
          name="Main"
          component={Main}
        />
        <Stack.Screen
          name="Page"
          component={Page}
        />
      </Stack.Navigator>
    </NavigationContainer>
  );
};

如果我在网络中运行,这会禁用

Main
Page
屏幕上的后退按钮。然而,当我在 Android 上运行时,后退按钮出现在
Page
屏幕上,尽管不是
Main
屏幕。我该如何解决这个问题?

android react-native react-navigation
1个回答
0
投票

您尝试过“平台”吗?

您需要在“NavigationContainer”旁边添加导入“Platform”

import { NavigationContainer, Platform } from '@react-navigation/native';

并在检查了一个简单的 if 之后,在变量 headerOptions 之后添加:

if (Platform.OS === 'android')
headerOptions.headerLeft = () => null;

如果之后效果不好,请尝试使用参数

headerBackVisible

© www.soinside.com 2019 - 2024. All rights reserved.