javascript React Native中的热重新加载和实时重新加载有什么区别?

jc3wubiy  于 2023-01-07  发布在  Java
关注(0)|答案(8)|浏览(289)

我有点困惑,当我调试一个React原生应用程序时,我通常同时启用 Hot ReloadingLive Reloading,我想知道它们之间的区别是什么?

qncylg1j

qncylg1j1#

实时重载会在文件更改时重载或刷新整个应用。例如,如果您的导航中有四个链接并保存了更改,则实时重载会重新启动应用并将应用加载回初始路线。
热重新加载仅刷新已更改的文件,而不会丢失应用的状态。例如,如果您的导航中有四个链接,并保存了对某些样式的更改,则状态不会更改,但新样式将显示在页面上,而无需导航回您所在的页面,因为您仍将位于同一页面上。

lyfkaqu1

lyfkaqu12#

两者都可以使用CMD+D / CMD+CTRL+Z / Shake Gesture menu启用,都使用watchman监听文件更改。
实时重新加载会重新加载整个应用程序。
热重载背后的想法是保持应用运行,并注入新版本的文件,你在运行时编辑。这样,你不会失去任何你的状态,这是特别有用的,如果你正在调整用户界面。所以它只会重新加载你改变了更多信息here

yfjy0ee7

yfjy0ee73#

Hot Reload:

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

Live Reload:

实时重新加载用于刷新整个应用程序,它不关心哪个文件发生更改。

yeotifhr

yeotifhr4#

两者的区别在于,实时重载会重载整个应用程序。它只是像这样,好吧,文件更改了,重载整个应用程序。热重载不会重载整个应用程序。它只是修补更改的代码,并在应用程序中保持状态。

jaql4c8m

jaql4c8m5#

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

**注意:**这两个(热重新加载和实时重新加载)功能在0.62版本的react-native中合并为fast refresh,如果您使用的是以下版本,则这两个(热重新加载和实时重新加载)功能将可用。

您可以探究此问题,了解有关快速刷新和热重新加载Difference between hot reload and fast refresh in react-native的详细信息

1.热重新加载

热重载仅根据新代码变更显示代码变更,无需从头重启应用程序,并且其仅对变更的代码或变更产生影响,仅适用于特定组件。
注:如果您深陷导航,热重新加载有时将不起作用。

2.实时重载

有时我们可能需要实时重新加载来测试我们的代码,如导航,所以实时重新加载是有帮助的,在这种情况下,它将重新加载整个应用程序的代码的变化。

relj7zay

relj7zay6#

热重载只是根据新的代码更改显示代码更改,而无需从开始重新启动应用程序,它只影响更改的代码。但当添加/更改JS代码时,如果只是对组件进行样式化,它会产生问题。因此,Live reload或rr工作良好

mkshixfv

mkshixfv7#

热重新加载:热重新加载仅用于刷新代码发生更改的文件实时重新加载:实时重新加载用于刷新整个应用程序。

mepcadol

mepcadol8#

在React Native中,

热重装

  • 它为您提供了更新应用代码的功能,而不会丢失应用状态或手动刷新应用。这是通过将新代码注入正在运行的应用而实现的,而不是替换整个应用。
    热重新加载如何工作?
  • 当你更改代码时,React Native Packager会检测到更改并将更新后的代码发送到正在运行的应用。然后,应用会将更改应用到相应的组件,这样你就可以在不丢失当前状态的情况下查看应用中的更改。
    实时重新加载
  • 每当你更改代码时,此操作都会刷新整个应用。这涉及到使用更新的代码替换整个应用,这意味着需要重新启动应用并重置现有状态。
    实时重载的工作原理是什么?
  • 当你更改代码时,React Native Packager将使用正在运行的应用的更新代码替换现有代码。该应用将重置应用的当前状态。
    热重新加载通常更快、更方便,但实时重新加载在某些情况下可能有用。

相关问题