是否可以在本机反应中自动重新加载应用程序?

Posted

技术标签:

【中文标题】是否可以在本机反应中自动重新加载应用程序?【英文标题】:Is it possible to automatically reload the app in react native? 【发布时间】:2015-06-01 06:11:09 【问题描述】:

一旦我编辑源代码并且事物重新编译自身,是否有可能让反应原生应用程序在模拟器中自动重新加载?

【问题讨论】:

***.com/questions/36933287/… 【参考方案1】:

在 shell 中使用这个命令

adb shell input keyevent 82

在安卓真机上获取开发菜单。

【讨论】:

【参考方案2】:

这是一个巨大的解决方法 - 但它可以节省大量时间并避免因无法正确摇动而感到沮丧。

它还涵盖了完全重新加载捆绑包的边缘情况,不仅用于实时重新加载或热替换。

我们只是throw new Error('Want to refresh?')在开发中提示错误屏幕,所以我们可以点击底部的RELOAD

小心龙。这不是最常见的举动。

【讨论】:

【参考方案3】:

您可以在 React Native 应用的设置中使用 hot-reload 来自动重新加载。您可以启用热重载点击genymotion侧边栏上的“菜单”按钮。

【讨论】:

【参考方案4】:

如果您使用react-native init 创建了项目,则在模拟器上按cmd+ctrl+ZHardware > Shake Gesture 会弹出开发菜单。

只需按Enable Live Reload 并完成! :D

编辑: React Native 团队现在确实鼓励用户使用 Hot Reloading 而不是 Live Reload。有关the difference between those two features here 的更多信息。

【讨论】:

有没有办法在默认情况下一直启用它? 嗯,我现在没有这个选项。我以前有过 @Toolkit 我认为他们移动了它,现在您必须转到 Dev Menu > Dev Settings 并检查“JS 更改时自动重新加载” 设备上的开发菜单没有此项 在设备上运行应用程序时是否也有此功能?我在开发菜单中没有看到该选项。【参考方案5】:

几天前RN 0.22 附带了热模块重新加载 (HMR),它允许模拟器自动重新加载单个屏幕或其他模块,而无需重新加载整个应用程序。它通过相同的 CMD+D / CMD+CTRL+Z / Shake Gesture 菜单启用。

【讨论】:

好答案,保持简单,只需在模拟器中按 CMD + D 即可。

以上是关于是否可以在本机反应中自动重新加载应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

在调试指向问题时反应本机

反应本机重新渲染导致视图滚动到顶部-我的键在渲染之间是不是发生变化?

如何检测是不是在本机反应中显示警报?

是否可以在本机反应中收听特定单词?

如何将值传递给正在加载反应本机应用程序的 Web 视图

如何在反应应用程序中重新加载每个页面时停止 firebase re-auth()?