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
  • Yoga :YogaNode 迁移至 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 迁移至独立包等重要更新,以及多项破坏性变更和清理工作。

相关推荐
Flynt6 天前
Shopify 弃 React Native 上了 HN 1272 分,我复现了它给 Agent 用的那套无头架构
react native·前端框架·agent
嵩风抚11 天前
一款HK银行APP的业务+技术
android·flutter·react native·html5
杉氧12 天前
RN 性能调优指南:重渲染(Re-renders)控制与长列表(FlatList)优化
android·前端·react native
光影少年12 天前
react navite process.nextTick 和 Promise.then 的执行顺序
前端·react native·react.js
光影少年13 天前
react navite浏览器 Event Loop 和 Node Event Loop 的区别
前端·javascript·react native·react.js·前端框架
做前端的娜娜子14 天前
施工蓝图:vite.config.js —— 项目的指挥中心
前端·react native·vite
光影少年14 天前
RN首屏加载速度优化全方案
react native·react.js·掘金·金石计划
光影少年15 天前
如何实现RN 多环境、多渠道打包
前端·react native·react.js