☰
upgrading-expo - new-architecture
2026/9/26 8:56:00 网站建设 项目流程

新架构

新架构在 Expo SDK 53+ 中默认启用。它用更快的同步通信层取代了传统桥接,连接 JavaScript 与原生代码。

文档

完整指南:https://docs.expo.dev/guides/new-architecture/

变更内容

  • JSI(JavaScript 接口)— JS 与原生之间直接同步调用
  • Fabric— 支持并发特性的新渲染系统
  • TurboModules— 带类型安全的懒加载原生模块

SDK 兼容性

SDK 版本新架构状态
SDK 53+默认启用
SDK 52通过 app.json 选择启用
SDK 51-实验性

配置

新架构默认启用。要显式禁用(不推荐):

{"expo":{"newArchEnabled":false}}

Expo Go

Expo Go 自 SDK 53 起仅支持新架构。使用旧架构的应用必须使用开发构建。

常见迁移问题

原生模块兼容性

一些较旧的原生模块可能不支持新架构。请检查:

  1. 模块文档中是否支持新架构
  2. GitHub issue 中的兼容性讨论
  3. 如果模块无人维护,考虑替代方案

Reanimated

React Native Reanimated 在 SDK 54+ 中需要react-native-worklets:

npx expoinstallreact-native-worklets

布局动画

某些布局动画的行为有所不同。升级后请彻底测试。

验证新架构

检查新架构是否处于活动状态:

import { Platform } from "react-native"; // 如果 Fabric 已启用则返回 true const isNewArch = global._IS_FABRIC !== undefined;

从命令行验证当前运行的应用是否使用新架构:bunx xcobra expo eval "_IS_FABRIC"->true

故障排除

  1. 清除缓存—npx expo start --clear
  2. 清理 prebuild—npx expo prebuild --clean
  3. 检查原生模块— 确保所有依赖都支持新架构
  4. 查看控制台警告— 旧模块会记录兼容性警告

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询