我有点糊涂了。当我调试React原生应用程序时,我通常启用热重新加载和实时重新加载。我想知道它们之间的区别是什么?


当前回答

两者都可以使用CMD+D / CMD+CTRL+Z / Shake Gesture菜单启用。两者都使用watchman监听文件更改。

实时重新加载重新加载整个应用程序。

热重新加载背后的想法是保持应用程序运行,并注入你在运行时编辑的文件的新版本。这样,你就不会丢失任何状态,这在你调整UI的时候特别有用。所以它只会重新加载你在这里修改更多信息的页面

其他回答

Hot Reload:

热重新加载仅用于刷新代码发生更改的文件

Live Reload:

Live Reload用于刷新它不关心的整个应用程序 更改哪个文件。

当文件发生变化时,实时重新加载或刷新整个应用程序。例如,如果你在导航中有四个链接,并保存了一个更改,实时重新加载将重新启动应用程序,并将应用程序加载回初始路由。

热重新加载只会刷新已更改的文件,而不会丢失应用程序的状态。例如,如果你在导航中有四个链接,并保存了对某些样式的更改,状态不会改变,但新的样式将出现在页面上,而无需导航回当前页面,因为你仍然在同一页面上。

两者都可以使用CMD+D / CMD+CTRL+Z / Shake Gesture菜单启用。两者都使用watchman监听文件更改。

实时重新加载重新加载整个应用程序。

热重新加载背后的想法是保持应用程序运行,并注入你在运行时编辑的文件的新版本。这样,你就不会丢失任何状态,这在你调整UI的时候特别有用。所以它只会重新加载你在这里修改更多信息的页面

在开发React-Native应用程序时,您需要查看您的代码更改 要查看代码更改,React-Native中有两个选项。

注意:这两个(热重新加载和实时重新加载)特性在react-native的0.62版本中合并为快速刷新,如果你使用的是以下版本,那么这两个(热重新加载和实时重新加载)将可用。

关于快速刷新和热重新加载,您可以探索这个问题的更多信息 react-native中热重载和快速刷新的区别

1. 热重载

热重载只是根据新的代码更改显示代码更改 无需重新启动应用程序从开始和它的影响仅对 更改的代码或更改将只应用于特定的组件。

注意:热重载将不起作用,有时如果你在你的 导航。

2. 生活重新加载

有时我们可能需要Live Reload来测试我们的代码,比如导航 在这种情况下,实时重载很有帮助,因此它将在代码发生更改时重新加载整个应用程序。

热重新加载只是根据新的代码更改显示代码更改,而不需要重新启动应用程序,它只影响已更改的代码。 但是当添加/更改JS代码时,只是对组件进行样式化时,它会产生问题。 对于Live重载或rr工作得很好