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

能否在同一React Native库中同时使用Fabric与Turbo?

同一React Native库能否同时集成Fabric和TurboModules?

结论:可以同时集成,但create-react-native-library初始化工具的默认模板不支持直接同时勾选,需要手动调整配置解决编译冲突

问题原因

你遇到的[CXX1429]编译错误,是因为create-react-native-library的初始化模板仅预设了单独支持Fabric或TurboModules的配置,同时勾选二者会导致CMake编译时出现依赖重复、规则冲突的问题,模板没有处理好二者的编译逻辑交集。

手动兼容的关键步骤

  • Android端配置调整
    1. 在库的android/src/main/cpp/CMakeLists.txt中,同时引入Fabric和TurboModules的CMake工具链:
      include(${REACT_ANDROID_DIR}/cmake-utils/Fabric.cmake)
      include(${REACT_ANDROID_DIR}/cmake-utils/TurboModules.cmake)
      
    2. 确保同时注册TurboModule和Fabric视图的入口,避免重复定义注册函数。
  • iOS端配置调整
    1. 在example/ios/Podfile中,开启新架构的双支持参数:
      use_react_native!(
        :path => config[:reactNativePath],
        :fabric_enabled => true,
        :turbo_modules => true
      )
      
    2. 在桥接文件(如MyAwesomeLibrary-Bridging-Header.h)和RCTBridgeModule实现中,同时处理TurboModule的注册和Fabric视图的组件注册。
  • JS层适配
    JS端需要分别导出符合TurboModules规范的原生模块,以及符合Fabric规范的自定义UI组件,确保在新架构环境下能被React Native正确识别。

额外建议

  • 如果你的库仅需要原生逻辑模块(不需要自定义UI组件),优先选择TurboModules即可,无需集成Fabric,减少配置复杂度。
  • 测试时务必分别在新架构(开启newArchEnabled=true)和旧架构模式下验证兼容性,避免出现适配漏洞。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 18:05:04