在我的
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
屏幕。我该如何解决这个问题?
您尝试过“平台”吗?
您需要在“NavigationContainer”旁边添加导入“Platform”
import { NavigationContainer, Platform } from '@react-navigation/native';
并在检查了一个简单的 if 之后,在变量 headerOptions 之后添加:
if (Platform.OS === 'android')
headerOptions.headerLeft = () => null;
如果之后效果不好,请尝试使用参数
headerBackVisible