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

使用Gorhom Bottom Sheet(React Native Expo)遇Cannot read properties of undefined错误

Gorhom Bottom Sheet 非TS环境 Cannot read properties of undefined (reading 'toString') 问题排查

这个报错的核心原因基本是sheetRef还没关联到BottomSheet组件实例,你就尝试调用了它的方法,或者ref绑定环节出了问题——和你用const sheetRef = useRef(null);这个非TS写法没关系,这个写法本身是没问题的。

给你几个具体排查方向:

  • 确认BottomSheet组件正确绑定了ref
    一定要确保组件上传递了ref属性,比如:

    <BottomSheet ref={sheetRef}>
      {/* 你的底部弹窗内容 */}
    </BottomSheet>
    

    不少人跟着视频操作时容易漏写这一步,导致ref一直是null。

  • 避免在组件未挂载时调用ref方法
    如果是在组件初始化阶段(比如useEffect外)直接调用sheetRef.current.expand()这类方法,肯定会报错,因为此时ref还没赋值给组件实例。正确的做法是把调用逻辑放到用户触发的事件里(比如按钮点击),或者放到useEffect中(确保组件挂载后执行),同时加上判断避免访问undefined:

    const handleOpenSheet = () => {
      if (sheetRef.current) {
        sheetRef.current.expand();
      }
    };
    
  • 检查依赖版本兼容性
    Expo环境下,Gorhom Bottom Sheet对react-native-reanimated、react-native-gesture-handler这些依赖的版本有严格要求。你可以确认下这些依赖的版本是否和当前安装的Bottom Sheet版本匹配,同时要确保Expo项目已经正确配置了这些依赖(比如reanimated的babel插件已经添加到babel.config.js里)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 02:03:12