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

相关推荐
墨狂之逸才12 小时前
React Native 状态管理大比拼:Event Bus 还是 Context?小白一看就懂!
react native
爱滑雪的码农12 小时前
React Native 完整开发全流程(从零到上线)
javascript·react native·react.js
沐言人生13 小时前
ReactNative 源码分析12——Native View创建流程onBatchComplete
android·react native
沐言人生3 天前
ReactNative 源码分析11——Native View创建流程setChildren和manageChildren
android·react native
沐言人生4 天前
ReactNative 源码分析10——Native View创建流程createView
android·react native
坏小虎4 天前
【聊天列表组件选型建议】FlashList、FlatList、LegendList三种列表组件
javascript·react native·react.js
sealaugh325 天前
react native(学习笔记第五课) 英语打卡微应用(4)- frontend的列表展示
笔记·学习·react native
沐言人生5 天前
ReactNative 源码分析9——Native View初始化
android·react native
接着奏乐接着舞5 天前
react native expo打包
javascript·react native·react.js
jxm_csdn7 天前
Expo Go 本地命令行编译 apk(Ubutnu22.04)
react native