反应本机

React Native 0.61 更新带来了一项重大新功能,改善了开发体验。

 

React Native 0.61 的特点

在 React Native 0.61 中,我们将当前的“实时重新加载”(保存时重新加载)和“热重新加载”亮点绑定在一起,形成一个名为“快速刷新”的新功能。快速刷新包含以下原则:

 

  1. 快速刷新 完全支持当前的React,包括功能组件和Hooks。
  2. 快速刷新会在拼写错误和不同的失误后恢复,并在需要时回退到完全重新加载。
  3. 快速刷新不会执行侵入性代码更改,因此它足够可靠,可以默认启用。

 

快速刷新

反应本机 实时重载和热重载已经有一段时间了。当检测到代码更改时,实时重新加载将重新加载整个应用程序。这将失去您在应用程序中当前的位置,但是,可以保证代码不处于损坏状态。热重载将尽力“修复”您所取得的进展。无需重新加载整个应用程序即可完成此操作,从而使您可以更快地看到进度。

热重载听起来很棒,但是,它有很多错误,并且不能与当前的 React 功能(例如带有钩子的功能组件)一起使用。

React Native 小组重新设计了这两个功能,并将它们组合成新的快速重新加载功能。它是默认启用的,并且会在可能的情况下执行与热重载相比较的操作,如果确实没有,则回退到完全重载。

 

升级到 React Native 0.61

同样,对于所有 React Native 升级,建议您查看最近创建的项目的差异,并将这些更改应用到您自己的项目中。

 

更新依赖版本

第一步是升级 package.json 中的条件并引入它们。请记住,每个 React Native 版本都附加到特定版本的 React,因此请确保您也更新它。您还应该确保react-test-renderer与React版本匹配。如果您使用它并升级 Metro-react-native-babel-preset 和 Babel 版本。

 

流量升级

最初是一个简单的。 React Native使用的Flow版本在0.61中进行了刷新。这意味着您需要确保您拥有的流容器依赖项设置为 ^0.105.0,并且您的 .flowconfig 文件的 [version] 中具有类似的值。

如果您在项目中使用 Flow 进行类型检查,这可能会在您自己的代码中提示额外的错误。最好的建议是您调查 0.98 和 0.105 范围内版本的更改日志,以了解可能导致这些问题的原因。

如果您使用 Typescript 对代码进行类型检查,则可以真正消除 .flowconfig 文件和 flow bin 依赖项并忽略这一点差异。

如果您没有使用类型检查器,建议您考虑使用类型检查器。任何一种选择都可以,但是建议使用 Typescript。