在 React Native 层禁止 iOS 左滑返回(手势返回/手势退出)

在 React Native 层禁止 iOS 左滑返回(手势返回/手势退出)通常有两种方式:

  • 方法 1:在 react-navigation 中配置
  • 如果你用的是 react-navigation(最常见):
javascript 复制代码
import { createStackNavigator } from '@react-navigation/stack';

const Stack = createStackNavigator();

export default function AppNavigator() {
  return (
    <Stack.Navigator>
      <Stack.Screen
        name="Home"
        component={HomeScreen}
        options={{
          // 禁用 iOS 左滑返回手势
          gestureEnabled: false,
        }}
      />
      <Stack.Screen
        name="Detail"
        component={DetailScreen}
        options={{
          gestureEnabled: false,
        }}
      />
    </Stack.Navigator>
  );
}
  • gestureEnabled: false 就能禁止 iOS 左滑返回。
  • 只想在某些页面禁止,就在对应的 Screen 上配置。

方法 2:在 react-native-screens 里配置

如果项目启用了 react-native-screens(enableScreens()),可以在 screen 级别禁用

javascript 复制代码
import { Screen } from 'react-native-screens';

<Screen
  style={{ flex: 1 }}
  gestureEnabled={false} // 禁止左滑
>
  <YourComponent />
</Screen>

方法 3:完全禁止(全局)

如果希望整个 App 都禁用 iOS 左滑:

javascript 复制代码
<Stack.Navigator screenOptions={{ gestureEnabled: false }}>
  {/* 所有页面都禁用左滑 */}
</Stack.Navigator>

gestureEnabled: false 只影响 手势返回,不影响上方返回按钮(导航栏返回箭头)。

如果你还想禁用返回按钮,需要在 headerLeft: () => null 或 headerBackVisible: false 配置。

行为区别

iOS

默认开启左滑返回手势(gestureEnabled: true),设置 false 后禁用。

Android

没有左滑返回手势,Android 返回依赖物理返回键 / 导航栏返回。

所以这个配置在 Android 上 不会有任何影响,不会禁用物理返回键,也不会影响 navigation.goBack()。

推荐且显著有效的:方法一

相关推荐
墨狂之逸才7 小时前
TRAE IDE 提效实战指南:少加班,多摸鱼
react native
Maimai108089 小时前
Web3 前端交易系统如何落地:从下单 UI 到 Operation 编码、签名与实时状态更新
前端·react.js·ui·架构·前端框架·web3
Cxiaomu9 小时前
React接入WebRTC实时视频实践
react.js·音视频·webrtc
墨狂之逸才11 小时前
给 AI Coding Agent 装上 React Native 外挂:callstackincubator/agent-skills 上手指南
react native
墨狂之逸才11 小时前
# React Native 人脸识别 UI 方案全对比:嵌入组件 · Activity · Dialog
react native
Maimai1080811 小时前
Web3 前端实时通信如何落地:从 SSE 订阅到行情、订单与账户状态更新
前端·javascript·react.js·前端框架·web3·状态模式
用户8876654266311 小时前
Web3 前端实时通信如何落地:从 SSE 订阅到行情、订单与账户状态更新
前端·react.js·web3
大熊猫侯佩12 小时前
WWDC26 最被忽视的王炸:告别“伪并发”陷阱,Swift 6.4 的 async defer
ios·swift·编程语言
右耳朵猫AI12 小时前
前端周刊2026W23 | React 19.2.7、Conductor重写提速、Lovable切换TanStack Start
前端·react.js·前端框架