醉临武-临武县第一中学官网

react-native 0.59.1版本更新日志

欢迎来到React Native的0.59版本!这是88个贡献者的644次提交的另一个重要版本。贡献也有其他形式,所以感谢您维护问题,培养社区,并教导人们了解React Native。本月带来了许多备受期待的变化,我们希望您喜欢它们。

🎣钩子在这里

React Hooks是此版本的一部分,它允许您跨组件重用有状态逻辑。有很多关于钩子的嗡嗡声,但如果你还没有听说过,请看看下面的一些精彩资源:

请务必在您的应用中试一试。我们希望您发现重用与我们一样令人兴奋。

📱更新的JSC意味着Android上的性能提升和64位支持

React Native使用JSC(JavaScriptCore)为您的应用程序提供支持。Android上的JSC已经存在了几年,这意味着很多现代JavaScript功能都不受支持。更糟糕的是,与iOS的现代JSC相比,它表现不佳。随着这个版本,所有的变化。

感谢@DanielZlotin@ dulmandakh@ gengjiawen@ kmagiera@kudo的一些精彩作品,JSC已经赶上了过去几年。这带来了64位支持,现代JavaScript支持和大的性能改进感谢现在让我们成为一个可维护的过程,这样我们就可以利用未来的WebKit改进而不需要太多的工作,并感谢Software Mansion和Expo让这项工作成为可能。

💨更快的应用程序启动与内联需求

我们希望默认帮助人们拥有高性能的React Native应用程序,并努力将Facebook的优化带入社区。应用程序根据需要加载资源,而不是减慢启动速度。此功能称为“内联需求”,因为它允许Metro识别延迟加载的组件。具有深入和多样化组件架构的应用程序将获得最大的改进。

0.59模板中`metro.config.js`文件的来源,演示了在哪里启用`inlineRequires`

在我们默认打开它之前,我们需要社区告诉我们它是如何工作的。升级到0.59时,会有一个新metro.config.js文件; 将选项翻转为true并向我们提供反馈在性能文档中阅读有关内联需求的更多信息以对您的应用进行基准测试

🚅精益核心正在进行中

React Native是一个庞大而复杂的项目,具有复杂的存储库。这使得代码库对于贡献者来说不太容易接近,难以测试,并且作为开发人员依赖性而膨胀。精益核心是我们通过将代码迁移到单独的库以更好地管理来解决这些问题的努力。过去的几个版本已经看到了这个的第一步,但让我们认真对待

您可能会注意到其他组件现已正式弃用。这是一个好消息,因为现在有这些功能的所有者积极维护它们。注意警告消息并迁移到新库以获取这些功能,因为它们将在以后的版本中删除。下面的表格显示了组件,其状态以及您可以将用途迁移到的位置。

零件已过时?新家
AsyncStorage0.59@反应本地社区/反应,本机异步存储
ImageStore0.59expo-file-systemreact-native-fs
MaskedViewIOS0.59@反应本地社区/反应母语掩蔽视图
的NetInfo0.59@反应本地社区/反应,本机的NetInfo
滑块0.59@反应本地社区/反应母语滑块
ViewPagerAndroid0.59@反应本地社区/反应母语,viewpager

在接下来的几个月里,将会有更多的组件沿着这条通往更精简核心的道路前进。我们正在寻求帮助 - 转向精益核心伞进入。

👩🏽💻CLI改进

React Native的命令行工具是开发人员进入生态系统的入口点,但它们存在长期存在的问题并且缺乏官方支持。CLI工具已移至新的存储库,一组专门的维护人员已经做了一些令人兴奋的改进。

现在,日志格式化得更好。命令现在几乎立即运行 - 你会立即注意到一个区别:

0.58的CLI启动缓慢0.58的CLI几乎是即时的

🚀升级到0.59

我们听到了您对React Native升级过程的反馈,我们正在采取措施改进未来版本的体验要升级到0.59,我们建议您使用rn-diff-purge以确定当前React Native版本与0.59之间的更改,然后手动应用这些更改。将项目升级到0.59后,您将能够使用新改进的react-native upgrade命令(基于rn-diff-purge!)升级到0.60及更高版本,因为新版本可用。

🔨突破性变化

根据谷歌的最新推荐,已经清理了0.59中的Android支持,这可能会导致现有应用程序的破坏。此问题可能表现为运行时崩溃和消息,“您需要将Theme.AppCompat主题(或后代)与此活动一起使用”。我们建议您更新项目的AndroidManifest.xml文件,确保该android:theme值是AppCompat主题(例如@style/Theme.AppCompat.Light.NoActionBar)。

react-native-git-upgrade命令已在0.59中删除,有利于新改进的react-native upgrade命令。

🤗谢谢

许多新贡献者帮助从流类型生成本机代码解析Xcode警告 - 这些是了解React Native如何工作并为更大的利益做出贡献的好方法。谢谢!留意将来的类似问题。

虽然这些是我们注意到的亮点,但还有许多其他令人兴奋的事情。要查看所有更新,请查看更改日志0.59是一个巨大的发布 - 我们不能等你试试。

在今年剩下的时间里,我们还有更多的改进。敬请关注!