我有点糊涂了。当我调试React原生应用程序时,我通常启用热重新加载和实时重新加载。我想知道它们之间的区别是什么?
当前回答
在React Native中,
热重载:
它提供功能,你更新你的应用程序的代码而不丢失 应用程序的状态或手动刷新应用程序。这是实现 通过将新代码注入正在运行的应用程序,而不是替换 整个应用程序。
如何热重装工作?
当你在代码中进行更改时,React Native Packager将检测到更改并将更新后的代码发送到正在运行的应用程序。应用程序将随后将更改应用到适当的组件&允许你在不丢失当前状态的情况下查看应用程序中的更改。
重载:
每当你对代码进行更改时,该操作都会刷新整个应用程序。这涉及到用更新的代码替换整个应用程序,这意味着应用程序将需要重新启动,现有的状态将被重置。
Live Reloading如何工作?
当你在代码中做出更改时,React Native Packager将用更新后的代码替换现有的代码到正在运行的应用程序中。应用程序将重置应用程序的当前状态。
热重新加载通常更快,更方便,但实时重新加载在某些情况下可能是有用的。
其他回答
热重新加载只是根据新的代码更改显示代码更改,而不需要重新启动应用程序,它只影响已更改的代码。 但是当添加/更改JS代码时,只是对组件进行样式化时,它会产生问题。 对于Live重载或rr工作得很好
当文件发生变化时,实时重新加载或刷新整个应用程序。例如,如果你在导航中有四个链接,并保存了一个更改,实时重新加载将重新启动应用程序,并将应用程序加载回初始路由。
热重新加载只会刷新已更改的文件,而不会丢失应用程序的状态。例如,如果你在导航中有四个链接,并保存了对某些样式的更改,状态不会改变,但新的样式将出现在页面上,而无需导航回当前页面,因为你仍然在同一页面上。
两者都可以使用CMD+D / CMD+CTRL+Z / Shake Gesture菜单启用。两者都使用watchman监听文件更改。
实时重新加载重新加载整个应用程序。
热重新加载背后的想法是保持应用程序运行,并注入你在运行时编辑的文件的新版本。这样,你就不会丢失任何状态,这在你调整UI的时候特别有用。所以它只会重新加载你在这里修改更多信息的页面
在React Native中,
热重载:
它提供功能,你更新你的应用程序的代码而不丢失 应用程序的状态或手动刷新应用程序。这是实现 通过将新代码注入正在运行的应用程序,而不是替换 整个应用程序。
如何热重装工作?
当你在代码中进行更改时,React Native Packager将检测到更改并将更新后的代码发送到正在运行的应用程序。应用程序将随后将更改应用到适当的组件&允许你在不丢失当前状态的情况下查看应用程序中的更改。
重载:
每当你对代码进行更改时,该操作都会刷新整个应用程序。这涉及到用更新的代码替换整个应用程序,这意味着应用程序将需要重新启动,现有的状态将被重置。
Live Reloading如何工作?
当你在代码中做出更改时,React Native Packager将用更新后的代码替换现有的代码到正在运行的应用程序中。应用程序将重置应用程序的当前状态。
热重新加载通常更快,更方便,但实时重新加载在某些情况下可能是有用的。
Hot Reload:
热重新加载仅用于刷新代码发生更改的文件
Live Reload:
Live Reload用于刷新它不关心的整个应用程序 更改哪个文件。
推荐文章
- jQuery中的live()转换为on()
- 如何区分鼠标的“点击”和“拖动”
- IE9是否支持console.log,它是一个真实的功能吗?
- Node.js同步执行系统命令
- 如何转义JSON字符串包含换行字符使用JavaScript?
- jQuery等价于JavaScript的addEventListener方法
- jQuery需要避免的陷阱
- JavaScript中变量字符串的XML解析
- 'React'指的是一个UMD全局,但当前文件是一个模块
- 为什么useState不触发重新渲染?
- 如何使用回调与useState挂钩在反应
- 网络请求失败
- 如何使用JavaScript大写字符串中每个单词的第一个字母?
- 如何使用箭头函数(公共类字段)作为类方法?
- 使用Javascript的atob解码base64不能正确解码utf-8字符串