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

0 阅读2分钟

🔥 核心亮点

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 版本中可用(即将发布)

示例代码:

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

🚀 如何升级

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