iOS 上的 Expo 不断刷新我在 MacOS 上的 React Native 应用程序,由 Dropbox / iCloud 引起

Expo on iOS is constantly refreshing my React Native app on MacOS, caused by Dropbox / iCloud

我正在构建一个简单的 React Native 应用程序并使用 Expo iOS 应用程序 运行 它。但是世博会不断刷新我的应用程序,使其无法使用/无法测试。它每隔几秒刷新一次,有时每秒刷新多次,当我没有改变任何东西时。唯一一次刷新之间有足够的时间让我测试应用程序的时候是在我的终端中,应用程序决定重建(同样,没有任何改变)并需要几秒钟来重建捆绑包。

我使用 create-react-native-app 设置应用程序,并使用 npm start 运行 设置应用程序 -- 除了添加一些组件外,我没有做任何其他更改。

我试过退出 IDE (Sublime) 并换用更强的 wifi 网络。

我在 macOS Sierra 10.12.2 上开发,运行在 iPhone 6S 上开发。

事实证明这是因为我的应用代码存储在 Dropbox 文件夹中。 (这同样适用于 iCloud 备份。)

我猜想 Dropbox/iCloud 的同步会干扰 watchman 或其他 Expo/React Native 内部机制。

我通过从我的 Dropbox 文件夹中删除应用程序的目录解决了这个问题。

你安装了watchman吗?

React Native 打包器 ("metro bundler") 会监视您的应用程序目录是否发生更改,并在目录中的文件发生更改时重新加载应用程序,奇怪的是,当我使用 Dropbox 时,这不会给我带来任何问题,不过

对于因 iCloud 下载文件夹而在 Mac 上遇到此问题的所有人,如果您将文件夹重命名为 "tmp",iCloud 将跳过它。