【问题标题】:What is the difference between Hot Reloading and Live Reloading in React Native?React Native 中的热重载和实时重载有什么区别?
【发布时间】:2017-05-16 16:27:53
【问题描述】:

我在这里有点困惑。在调试 React Native 应用程序时,我通常会同时启用 Hot ReloadingLive Reloading。我想知道它们有什么区别?

【问题讨论】:

标签: javascript mobile react-native


【解决方案1】:

实时重新加载会在文件更改时重新加载或刷新整个应用程序。例如,如果您在导航中有四个链接并保存了更改,则实时重新加载将重新启动应用程序并将应用程序加载回初始路径。

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

【讨论】:

  • 这个来自 RN 网站的视频可能也有帮助。 youtu.be/2uQzVi-KFuc
  • 为什么有人更喜欢实时重载而不是热重载?实时重新加载有什么好处吗?
  • 两者都可以在 Kotlin 中完成吗?如果是这样,你能指导我到一个像样的资源吗?和平!
  • 这些仅在 Expo 中运行时有效,还是从弹出的应用程序中运行?
  • @Jan 是的,通常热重载优于实时重载。但是,热重载实现起来更复杂,有时不如实时重载可靠。
【解决方案2】:

两者都可以使用CMD+D / CMD+CTRL+Z / Shake Gesture menu 启用。两者都使用 watchman 来监听文件的变化。

实时重新加载会重新加载整个应用。

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

【讨论】:

    【解决方案3】:
    Hot Reload:
    

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

    Live Reload:
    

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

    【讨论】:

      【解决方案4】:

      两者之间的区别在于,Live Reloading 会重新加载您的整个应用程序。就像,好吧,文件改变了,重新加载整个应用程序。热重新加载不会重新加载您的整个应用程序。它只是修补已更改的代码并将状态保留在您的应用中。

      【讨论】:

        【解决方案5】:

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

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

        您可以探索这个问题以获取有关快速刷新和热重载的更多信息 Difference between hot reload and fast refresh in react-native

        1.热重载

        热重载仅显示根据新代码更改的代码更改 无需从一开始就重新启动应用程序,其影响仅在 更改的代码或更改将仅适用于特定组件。

        注意:如果您深陷其中,热重载有时将不起作用 导航。

        2。实时重新加载

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

        【讨论】:

          【解决方案6】:

          热重载

          1. 热重载仅对更改的代码有影响(同一页面/类)。
          2. 保持状态。

          实时重新加载

          1. 它会在代码更改时重新加载整个应用程序。对导航更改和父类更改更有用。
          2. 不要保持以前的状态。

          【讨论】:

          • 那么@biplov 哪个最适合日常开发?
          • 对于设计更改,您可以简单地使用 Hot Reload 对于导航更改,请使用 Live Reload。
          【解决方案7】:

          热重载只是根据新的代码更改显示代码更改,而不需要从头开始重新启动应用程序,它只影响更改的代码。 但是在添加/更改 JS 代码时仅对组件进行样式设置会产生问题。 对于 Live reload 或 rr 效果很好

          【讨论】:

            【解决方案8】:

            热重载:热重载用于仅刷新代码更改的文件 Live Reload:Live Reload 用于刷新整个应用程序。

            【讨论】:

              猜你喜欢
              • 2020-08-30
              • 2019-04-19
              • 2017-04-14
              • 1970-01-01
              • 2017-03-04
              • 2015-09-22
              • 2016-01-12
              • 2023-03-15
              • 2016-04-11
              相关资源
              最近更新 更多