React Native(Expo Go)模拟器自动刷新失效问题求助
Expo Go自动刷新失效问题排查与解决建议
问题背景
使用Expo Go开发React Native应用,原本模拟器自动刷新功能正常,添加苹果审核要求的「删除账户」功能后,保存代码修改不再触发自动刷新。已尝试:开关Expo Go自动刷新、检查app.json配置、切换开发/生产模式,均无效。
排查与解决步骤
1. 临时移除生产环境OTA更新配置
你的app.json中配置了runtimeVersion和updates,这两项是用于生产环境的空中更新(OTA)功能,开发环境下可能和自动刷新机制冲突。建议临时注释或删除这部分配置:
// 暂时注释掉这两段配置 // "runtimeVersion": { // "policy": "appVersion" // }, // "updates": { // "url": "update link" // }
修改后重启Expo项目,测试自动刷新是否恢复。
2. 清除Expo Go与Metro缓存
- Expo Go缓存清除:在模拟器中打开Expo Go,找到你的项目,长按图标选择「Remove from Recents」,再重新启动项目。
- Metro缓存清除:在终端运行以下命令重启项目:
npx expo start --clear
3. 检查「删除账户」功能代码
添加的删除账户逻辑可能无意中影响了热更新触发:
- 确认是否修改了App根组件结构,比如引入新的全局状态管理工具但未配置热更新兼容;
- 检查是否使用了非响应式状态(直接修改变量而非
useState/useReducer),导致组件无法触发重渲染; - 排查是否有异步操作或路由跳转逻辑,在代码保存后阻塞了组件更新流程。
4. 验证Expo CLI与依赖版本
确保使用的Expo CLI和项目依赖为最新稳定版:
- 更新全局Expo CLI:
npm install -g expo-cli
- 或使用项目本地依赖启动,避免全局版本冲突:
npx expo start
5. 确认网络连接
确保模拟器和开发电脑处于同一局域网,Expo Go需要和本地Metro服务器建立连接才能接收代码更新通知。
内容的提问来源于stack exchange,提问作者Brian Perez
相关产品推荐
相关产品推荐

