React-native Fast Refresh 坏了

React-native Fast Refresh broken

最近我的 Fast Refresh 在我所有的 React Native 项目中都停止工作了,我什至尝试了 init-ing 一个新项目,但它也没有在那里工作

我已经尝试了以下所有尝试:

-. watchman watch-del-all
-. rm -rf /usr/local/var/run/watchman && brew uninstall watchman && brew install watchman
-. clean node_modules and "npm run -- --reset-cache"

无论我在修改源代码后尝试以何种方式重新加载应用程序,更改都不会反映出来。我必须停止并卸载该应用程序,运行 npm run -- --reset-cache 然后再次 运行 npm run android 才能反映更改。

这真的让我很难受,因为我找不到它的原因。它之前工作正常,我没有在我的机器上安装任何应用程序。我现在缺少格式化我的机器并从头开始一切但这是一个 Mac 并且重新格式化很麻烦..

您是否尝试过这里提到的所有解决方案?好像还有一堆你没试过

https://github.com/facebook/react-native/issues/28420

几乎都试过了还是不行,无奈之下,

sudo npx react-native start 解决了我的问题

https://github.com/facebook/react-native/issues/28420#issuecomment-755082770

这并没有回答问题,但我将它留给遇到稍微不同问题的人。

如果在进行代码编辑后,应用程序显示一条消息说 'Refreshing...' 但它完全重新加载了应用程序,这意味着快速刷新和热重新加载在技术上是有效的。但无论出于何种原因,快速刷新正在退回到完全重新加载。要解决此问题, 基本上,命名您的默认导出。

它与 react-native、metro bundler 或 sudo 权限无关, 这是因为.git/index.lock file!

去掉就好了

在你项目的根目录下执行这条命令:

rm .git/index.lock