React Native 0.85 — 新动画后端 & Jest 预设独立包

🔥 核心亮点

1. 全新的动画引擎(Shared Animation Backend)

React Native 0.85 引入了全新的共享动画后端,由 React Native 团队与 Software Mansion 合作开发。这是驱动 Animated 和 Reanimated 动画表现的全新内部引擎。

主要优势:

  • 将主要动画更新逻辑移至 React Native 核心,Reanimated 能实现之前无法达到的性能优化
  • 确保更新协调过程经过proper测试,未来 RN 更新时更加稳定
  • Animated 现在支持使用原生驱动(native driver)动画化布局属性(如 flexbox 和 position 属性)

⚠️ 注意:此实验性功能仅在 0.85.1 版本中可用(即将发布)

示例代码:

javascript 复制代码
import { Animated, Button, View, useAnimatedValue } from 'react-native';

function MyComponent() {
  const width = useAnimatedValue(100);

  const toggle = () => {
    Animated.timing(width, {
      toValue: 300,
      duration: 500,
      useNativeDriver: true,  // 现在可以正常使用原生驱动!
    }).start();
  };

  return (
    <View style={{flex: 1}}>
      <Animated.View style={{width, height: 100, backgroundColor: 'blue'}} />
      <Button title="Expand" onPress={toggle} />
    </View>
  );
}

2. React Native DevTools 改进

  • 多CDP连接支持:现在支持多个 Chrome DevTools Protocol 连接同时工作,可同时连接 React Native DevTools、VS Code 和 AI 代理
  • macOS 原生标签页:桌面应用更新支持 macOS 26 系统级标签页处理
  • 网络面板请求预览恢复:Android 平台的网络请求 body 预览功能已恢复

3. Metro TLS 支持

Metro 开发服务器现在支持 TLS 配置,可启用 HTTPS 和 WSS(Fast Refresh),方便测试强制安全连接的 API。


⚠️ 破坏性变更

变更项 说明
Jest Preset 迁移 react-native 包提取到 @react-native/jest-preset 新包
Node.js 版本要求 最低支持 v20.19.4;v21、v23 不再支持;推荐 v20.19.4+ 或 v22 LTS
StyleSheet.absoluteFillObject 移除 使用 StyleSheet.absoluteFill 替代
Android 清理 移除 CatalystInstanceImpl、废弃 UIManagerHelper 等旧架构代码
iOS 废弃 RCTHostRuntimeDelegate 合并至 RCTHostDelegate

📦 其他更新

  • Metro 升级至 v0.84.0
  • React 更新至 Hermes 250829098.0.10
  • YogaYogaNode 迁移至 Kotlin(Android)
  • 无障碍功能setAccessibilityFocus 废弃,改用 sendAccessibilityEvent
  • Android 构建 :支持通过 reactNativeDevServerIp Gradle 属性指定开发服务器 IP

🚀 如何升级

bash 复制代码
# 新项目
npx @react-native-community/cli@latest init MyProject --version latest

# 已有项目 - 使用升级助手
# 访问 https://react-native-community.github.io/upgrade-helper/

使用 Expo? 即将发布的 Expo SDK 56 将包含 React Native 0.85。


Summary : React Native 0.85 Release Description: React Native 0.85 版本发布,包含全新共享动画后端、DevTools 多连接支持、Metro TLS、Jest Preset 迁移至独立包等重要更新,以及多项破坏性变更和清理工作。

相关推荐
一个扣子2 天前
Hermes 的 Android 与 iOS 平台差异化配置详解
react native·字节码·新架构·hermes·android配置·ios配置·平台差异
茅盾体2 天前
React Native
android·react native·react.js
一个扣子3 天前
多环境配置:开发/生产环境下 Hermes 的开启与关闭策略
react native·开发模式·多环境配置·生产模式·hermes·环境切换·构建配置
TechMasterPlus4 天前
Hermes 深度解析:React Native 高性能 JavaScript 引擎实践指南
javascript·react native·react.js
令人头秃的代码0_04 天前
React Native Bundle更新升级
react native
用户600071819105 天前
【翻译】React Native JSI 深度解析(第 3 篇):面向 JavaScript 开发者的 C++
react native
Goway_Hui8 天前
【ReactNative鸿蒙化-三方库使用与C-API集成】
c语言·react native·harmonyos
zh_xuan11 天前
启动RN服务端口被占用
android·react native
墨狂之逸才12 天前
在 React Native 中集成 MinIO 对象存储(图片/文件上传服务)
react native
chenbin___12 天前
鸿蒙RN position: ‘absolute‘ 和 zIndex 的兼容性问题(转自千问)
前端·javascript·react native·harmonyos