React Native 0.62 发布:默认集成 Flipper
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
今天我们正式发布 React Native 0.62 版本,该版本默认集成了 Flipper 支持。
本次发布正值全球疫情期间。我们选择此刻发布是为了尊重数百位贡献者为本版本付出的努力,并避免版本与主分支差距过大。请注意当前贡献者处理问题的能力有所下降,如有必要请酌情延迟升级计划。
默认集成 Flipper
Flipper 是一款用于调试移动应用的开发者工具,在 Android 和 iOS 社区广受欢迎。本次更新中,我们为新建和现有 React Native 应用默认启用了该工具支持。

Flipper 默认提供以下功能:
-
Metro 操作:通过工具栏直接重载应用并触发开发者菜单
-
崩溃报告:查看来自 Android 和 iOS 设备的崩溃日志
-
React 开发者工具:在统一界面中使用最新版 React DevTools
-
网络检查器:查看设备应用发起的全部网络请求
-
Metro 与设备日志:查看、搜索并筛选来自 Metro 和设备的全部日志
-
原生布局检查器:查看并编辑 React Native 渲染器输出的原生布局
-
数据库与偏好设置检查器:查看并编辑设备数据库和偏好设置
此外,Flipper 作为可扩展平台,提供了从 NPM 获取插件的市场机制,您可发布或安装符合特定工作流程的自定义插件。查看可用插件列表。
更多信息请参阅 Flipper 官方文档。
全新深色模式功能
我们新增了 Appearance 模块,用于获取用户的外观偏好设置(如首选配色方案为浅色或深色模式)。
const colorScheme = Appearance.getColorScheme();
if (colorScheme === 'dark') {
// Use dark color scheme
}
同时新增了监听用户偏好设置变更的钩子函数:
import {Text, useColorScheme} from 'react-native';
const MyComponent = () => {
const colorScheme = useColorScheme();
return <Text>useColorScheme(): {colorScheme}</Text>;
};
详见 Appearance 和 useColorScheme 文档。
Apple TV 迁移至 react-native-tvos
作为精简核心计划的一部分,同时为统一 Apple TV 与 React Native Windows/macOS 等平台的支持方式,我们已开始从核心代码库移除 Apple TV 专属代码。
未来 React Native 对 Apple TV 的支持将转由 react-native-community/react-native-tvos 仓库维护,并同步提供 react-native-tvos NPM 包。这是主代码库的完整分支,仅包含支持 Apple TV 的必要修改。
react-native-tvos 的发布将基于 React Native 的公开版本。针对本次 react-native 0.62 版本的发布,请 Apple TV 项目升级至 react-native-tvos 0.62。
增强升级支持
当 0.61 版本发布时,社区推出了全新的升级助手工具,帮助开发者升级 React Native 版本。该工具可展示从当前版本到目标版本的差异对比,明确升级所需的具体修改。
即便使用此工具,升级过程中仍可能遇到问题。今天我们宣布推出升级支持中心,提供更专注的升级支持。该 GitHub issue 跟踪系统专用于处理项目升级相关问题,开发者可在此获取社区帮助。
我们始终致力于优化升级体验,希望这些工具能为尚未覆盖的特殊场景提供必要支持。
其他改进
-
LogBox:新增的错误与警告体验现作为可选功能提供,需在
index.js中添加require('react-native').unstable_enableLogBox()启用 -
React DevTools v4:升级至最新版 React DevTools,显著提升性能,优化导航体验,并完整支持 React Hooks
-
无障碍改进:包括新增 accessibilityValue、Touchables 缺失属性、
onSlidingComplete无障碍事件支持,并将 Switch 组件的默认角色由"button"改为"switch"
重大变更
-
移除 PropTypes:为减少 React Native 核心对应用体积的影响,并推荐使用编译时检查的静态类型系统,我们移除了核心组件中的
propTypes -
移除 accessibilityStates:移除已废弃的
accessibilityStates属性,改用语义更丰富的accessibilityState属性向无障碍服务描述组件状态信息 -
TextInput 变更:因使用率低、不符合 W3C 标准且在 Fabric 中实现困难,移除了 TextInput 的
onTextInput。同时移除了未文档化的inputView属性和selectionState
弃用项
-
AccessibilityInfo.fetch此前已弃用,本次更新添加了警告提示 -
现在必须显式设置
useNativeDriver以支持未来默认值切换,详见 -
Animated组件的ref现指向内部组件,已弃用getNode方法
致谢
衷心感谢数百位贡献者让 0.62 版本成为可能!
要查看所有更新内容,请查阅 0.62 更新日志。