React Native通过桥接机制实现JavaScript与原生通信,核心为双线程异步传输JSON消息。JS调用原生模块需注册并序列化请求,原生执行后通过回调或事件通知JS。传统桥接存在性能开销,新架构引入TurboModules实现按需加载、Fabric优化UI更新,并未来支持JSI直接引用原生对象,减少序列化延迟。掌握该机制有助于提升应用性能与稳定性。

React Native 能够让开发者用 JavaScript 编写接近原生性能的移动应用,核心在于其 JavaScript 与原生之间的通信机制——也就是“桥接”(Bridge)。这个桥接系统使得 JS 代码可以调用原生模块,原生代码也能向 JS 发送事件和数据。
JavaScript 与原生通信的基本原理
React Native 的架构采用双线程模型:JavaScript 运行在独立的 JS 线程中,而 UI 和平台功能则由原生主线程处理。两者通过一个称为“Bridge”的异步通信通道进行交互。
所有跨线通信都以序列化的 JSON 消息形式传递。当 JS 调用一个原生模块方法时,消息会被打包并通过桥发送到原生端;原生收到后执行对应逻辑,必要时再回调 JS。
- 通信是异步的,避免阻塞 JS 线程或 UI 线程
- 调用过程涉及序列化和反序列化,有一定性能开销
- 每个原生模块需在启动时注册,供 JS 动态发现和调用
原生模块暴露给 JavaScript
要在 JS 中使用原生功能,必须创建原生模块并正确导出。以 Android 为例:
立即学习“Java免费学习笔记(深入)”;
public class ToastModule extends ReactContextBaseJavaModule {@Override
public String getName() {
return "Toast";
}
@ReactMethod
public void show(String message, int duration) {
Toast.makeText(getReactApplicationContext(), message, duration).show();
}
}
在 iOS 上使用 Objective-C 或 Swift 实现类似逻辑,通过 RCT_EXPORT_MODULE 和 RCT_EXPORT_METHOD 导出。
JS 端通过 NativeModules 访问:
IMCart是目前国内首家最为完善的开源b2c商城系统。同时也是PAYPAL官方认证建站系统的金牌合作伙伴。系统支持多语言,多站点,移动端, 本地国际化,API对接等,丰富的营销功能跟完善的商品体系,优良的下单体验,更为符合SEO优化,完善的插件支持/模板中心更是让IMCART更加无法 替代。而IMCART全新的技术架构、全新的UI设计、丰富的促销体系、官方各项服务支持能从根源上解决了目前市面上一
const {Toast} = NativeModules;
Toast.show('Hello', 1000);
回调与事件通信
原生执行完任务后常需要通知 JS。React Native 提供了两种主要方式:
- Callback:一次性回调函数,适合完成通知或返回简单结果
- EventEmitter:通过 DeviceEventEmitter 或 NativeEventEmitter 发送持续事件,如传感器数据、推送通知等
例如,原生端发送事件:
WritableMap event = Arguments.createMap();event.putString("msg", "data from native");
getReactContext()
.getJSModule(DeviceEventEmitter.class)
.emit("onUpdate", event);
JS 端监听:
DeviceEventEmitter.addListener('onUpdate', (e) => console.log(e.msg));性能优化与新架构(TurboModules & Fabric)
传统桥接存在序列化开销大、调用延迟高等问题。React Native 新架构引入 TurboModules 和 Fabric 来改进:
- TurboModules:原生模块按需加载,减少初始化时间,支持更高效的调用路径
- Fabric:新的渲染系统,直接操作原生视图,减少桥上传输的 UI 更新消息
- 未来支持 JSI(JavaScript Interface),允许 JS 直接引用原生对象,绕过桥接序列化
这些改进显著降低通信延迟,提升整体性能。
基本上就这些。理解桥接机制有助于写出更高效、更稳定的 React Native 应用,特别是在涉及大量原生交互时。掌握原生模块封装、事件通信和新架构特性,能更好地应对复杂场景。








