React Native 热重载不会在更改时更新屏幕?

问题描述 投票:0回答:3

我最近开始使用 React Native。我对热重载和实时重载功能很感兴趣。但是,热重载并没有完全按照其应有的方式工作(即时更改)。我了解热重载和实时重载之间的区别。

问题是,每当我在文件中进行更改(例如

profile.js
)时,都会有一个工具提示显示
Hot Reloading..
,但我所做的更改并未反映出来。现在要明确的是,我只是更改 TextView 的字体大小,它位于渲染函数内。但是,如果我转到另一项活动然后返回
profile.js
,它会反映更改。

我做错了什么,还是热重载功能中的错误?

完全欢迎任何我可以找到答案的其他地方的链接。

javascript react-native hot-reload
3个回答
4
投票

热重载并不适用于所有情况。当发生需要重建整个捆绑包的更改时,在这种情况下它将无法工作。像文本更改这样的小更改,或不需要构建整个项目的任何其他琐碎更改应该可以正常工作。用于验证其是否有效。

  • 创建一个新项目。
  • 启用热重载但禁用实时重载。
  • 更改 App.js 文件中的任何文本

观察屏幕是否有变化。如果没有尝试升级 React Native cli 或重新安装。


2
投票

这耗费了我长达 2 个工作日的时间。 我的应用程序突然无法热重载。

我终于找到了解决办法,问题出在你的看守人身上。所以重新安装它:

rm -rf /usr/local/var/run/watchman && brew uninstall watchman && brew install watchman

0
投票

我遇到了类似的问题,热重载不适用于主屏幕。在某些时候,我检查过它是否在其他屏幕上工作,并且在那里一切正常。经过一些尝试将问题范围缩小到特定的事情后,我发现 HMR 不起作用,因为

if
语句逻辑。我的主屏幕正在检查用户是否已登录,并根据此情况加载一个或另一个组件。我刚刚制作了我正在处理的组件,因为当前主屏幕呈现出单个屏幕,并且 HMR 工作得非常完美。完成后,我将其移回主屏幕。这并不是适用于所有情况的解决方案,但在我的情况下 - 它有效。

© www.soinside.com 2019 - 2024. All rights reserved.