You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo SDK 48抽屉导航无法滑动打开问题求助(已导入手势库)

解决方案:Expo SDK 48 抽屉导航滑动失效问题

1. 检查 Reanimated 配置及兼容性

你的react-native-reanimated版本为~2.14.4,需确保Babel配置正确适配:

  • 在babel.config.js中添加Reanimated插件,且必须放在所有插件的最后一位:
module.exports = function(api) {
  api.cache(true);
  return {
    presets: ['babel-preset-expo'],
    plugins: [
      'react-native-reanimated/plugin',
    ],
  };
};

2. 确认 Gesture Handler 导入顺序

确保import 'react-native-gesture-handler'是App入口文件的第一行导入,不能放在其他导入之后:

// 正确示例
import 'react-native-gesture-handler';
import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
// ...其他导入内容

3. 升级导航依赖至兼容版本

当前@react-navigation/drawer版本^6.6.3可升级到与SDK48适配的稳定版:

npx expo install @react-navigation/drawer@^6.6.6

4. 显式开启抽屉手势配置

检查Drawer Navigator的gestureEnabled属性是否被禁用,显式设置为true:

import { createDrawerNavigator } from '@react-navigation/drawer';

const Drawer = createDrawerNavigator();

function MyDrawer() {
  return (
    <Drawer.Navigator
      screenOptions={{
        gestureEnabled: true,
        drawerType: 'front',
      }}
    >
      {/* 你的屏幕组件 */}
    </Drawer.Navigator>
  );
}

5. 清除缓存并重启项目

缓存异常可能导致手势失效,执行以下操作:

  • 清除Expo缓存:npx expo start --clear
  • 关闭Metro服务器后重新启动项目
  • iOS模拟器可重置内容,Android端清除应用缓存

内容的提问来源于stack exchange,提问作者Onoshe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 06:52:40