React Native 發(fā)布 0.64 版本,快來看看有什么新特性

React Native 官方發(fā)布 0.64 版本,這是本年度發(fā)布的第一個(gè)更新版本。
我們一起來看看這個(gè)版本有哪些更新。更詳細(xì)內(nèi)容可以查看官方發(fā)布的正式文檔。
iOS 中選擇性加入了 Hermes
Hermes 是一個(gè)開放源代碼的 JavaScript 引擎,專門針對(duì)運(yùn)行 React Native 進(jìn)行了優(yōu)化。它通過降低內(nèi)存利用率,減小下載大小并減少應(yīng)用程序 TTI 所花費(fèi)的時(shí)間來提高性能。不過 iOS 上對(duì) Hermes 的支持仍處于早期階段。所以官方也是選擇性的將其加入。
默認(rèn)情況下啟用內(nèi)聯(lián) require
Inline Requires 是一個(gè) Metro 配置選項(xiàng),它通過將 JavaScript 模塊的使用推遲到使用之前而不是在啟動(dòng)時(shí)來縮短啟動(dòng)時(shí)間。這個(gè)功能之前已經(jīng)存在,不過是作為建議使用的可選配置選項(xiàng),在官方的文檔的“性能”部分中列出了該功能。現(xiàn)在,默認(rèn)為新應(yīng)用程序啟用此選項(xiàng),以幫助人們無需額外配置即可快速使用 React Native 應(yīng)用程序。
const MyComponent = (props) => {
const result = require('my-module').MyFunction();
return (<Text>{result}</Text>);
};
使用 Chrome 查看 Hermes 執(zhí)行情況
Jessie Nguyen 和 Saphal Patro 添加了使用 Chrome Devtools 上的“性能”標(biāo)簽來可視化應(yīng)用程序在使用 Hermes 時(shí)的執(zhí)行情況的功能。
具有代理支持的 Hermes
官方為 Hermes 添加了代理支持,從而實(shí)現(xiàn)了與熱門社區(qū)項(xiàng)目(如react-native-firebase和mobx)的兼容性。如果一直在使用這些軟件包,則現(xiàn)在可以為您的項(xiàng)目遷移到 Hermes。官方計(jì)劃在即將發(fā)布的版本中使 Hermes 成為 Android 的默認(rèn) JavaScript 引擎,因此也正在努力解決人們?cè)谑褂肏ermes時(shí)仍然遇到的問題。
React 17
React 17 不包含面向開發(fā)人員的新功能或重大更改。對(duì)于React Native應(yīng)用程序,主要更改是新的 JSX 轉(zhuǎn)換,使文件不再需要導(dǎo)入 React 即可使用 JSX。
主要依賴版本更新
停止支持 Android API 16-20
需要 Xcode 12 和 CocoaPods 1.10
Node 支持從 10 升到 12
Flipper 升至 0.75.1
