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

@jitsi/react-native-sdk是否支持Expo?集成问题与功能咨询

Expo集成@jitsi/react-native-sdk问题解答

报错原因与解决办法

你遇到的Invariant Violation和Cannot read property 'JitsiMeeting' of undefined错误,本质是@jitsi/react-native-sdk依赖原生平台代码,而Expo Go无法加载这类第三方原生模块。必须放弃Expo Go,改用**Expo开发构建(Development Build)**来运行项目,这样才能编译并加载SDK所需的原生组件。

是否支持Expo项目

@jitsi/react-native-sdk支持Expo项目,但有前提:不能用Expo Go直接运行,必须通过EAS构建创建自定义的开发构建包,或者直接构建生产包——因为SDK包含原生代码依赖,需要编译原生部分才能正常工作。

功能实现情况

  • 视频通话:完全支持,这是Jitsi的核心功能,通过你使用的JitsiMeeting组件就能直接实现,配置房间名和服务器地址即可。
  • 屏幕共享:支持,但需要在开发构建中配置对应原生权限:iOS需开启屏幕录制权限,Android需配置媒体投影权限,SDK本身提供该功能的接口。
  • 白板:@jitsi/react-native-sdk本身不自带白板功能,需要通过Jitsi Meet的第三方插件扩展,或者集成外部白板服务并通过Jitsi的API联动实现。

代码调整建议

首先创建Expo开发构建,然后可以简化代码导入路径,同时注意token的有效性(公开房间无需token):

import { JitsiMeeting } from '@jitsi/react-native-sdk';

export default function VideoCallScreen() {
  return (
    <JitsiMeeting
      room={'YourTestRoomName'}
      serverURL={'https://meet.jit.si/'}
      token={''} // 私有房间需传入有效令牌,公开房间留空即可
      onConferenceJoined={() => console.log('加入会议')}
      onConferenceTerminated={() => console.log('会议结束')}
    />
  );
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 09:52:12