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

Expo中Gorhom BottomSheet手势处理失效问题求助

解决Gorhom BottomSheet无法滑动的问题

以下是针对你遇到的BottomSheet显示正常但无法滑动问题的具体解决步骤:

  • 配置Reanimated Babel插件
    在项目根目录的babel.config.js中添加Reanimated的插件,这是Reanimated正常工作的必要配置:

    module.exports = function(api) {
      api.cache(true);
      return {
        presets: ['babel-preset-expo'],
        plugins: ['react-native-reanimated/plugin'],
      };
    };
    

    修改完成后,必须重启Metro开发服务器,否则配置不会生效。

  • 正确初始化Gesture Handler
    在项目的入口文件(比如App.js)的最顶部引入react-native-gesture-handler,注意要放在所有其他导入语句之前:

    import 'react-native-gesture-handler';
    
  • 确保内容高度足够触发滑动
    如果BottomSheetView内的内容高度小于最低的snapPoint高度,滑动手势可能无法被识别。可以给内容设置足够的高度,比如:

    <BottomSheetView className="flex-1">
      <Text>Hello</Text>
      {/* 添加占位视图确保内容高度足够 */}
      <View className="h-[600px]" />
    </BottomSheetView>
    
  • 测试固定数值的snapPoints
    暂时将百分比形式的snapPoints替换为固定数值,验证是否是百分比计算的问题:

    <BottomSheet ref={bottomSheetRef} snapPoints={[100, 800]}>
      {/* ... */}
    </BottomSheet>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 06:10:59