You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React-Native 0.70.3版本Fast Refresh功能失效问题求助

React Native 0.70.3 Fast Refresh 失效排查与修复方案

以下是针对RN 0.70.3版本Fast Refresh失效的常见排查与修复步骤:

  • 确认Fast Refresh未被手动关闭
    摇晃设备或使用快捷键Cmd+D(iOS)/Ctrl+M(Android)调出开发者菜单,检查"Fast Refresh"选项是否处于勾选状态。如果之前误关,重新勾选后修改代码测试。

  • 重置缓存并重启服务
    停止当前Metro服务,执行缓存重置命令:

    npx react-native start --reset-cache
    

    同时重启模拟器/真机上的App,彻底清除旧缓存后再测试。

  • 排查代码语法错误
    Fast Refresh遇到语法错误会自动停止工作,先查看Metro终端或Chrome调试工具的控制台,修复所有红色报错后,手动刷新一次App,再修改代码验证是否恢复。

  • 检查文件与导出规范

    • 避免组件文件名使用特殊字符或中文,防止Metro监听失效;
    • 如果修改的是工具类、常量等非组件文件,Fast Refresh可能不会自动触发,这种情况属于正常现象,需要手动刷新;
    • 确保组件通过export default或命名导出被正确引用,异常的导出方式可能导致刷新不生效。
  • 检查Metro配置
    打开项目根目录的metro.config.js,确认resolver.blockList没有排除项目源码目录,watchFolders也包含了需要监听的路径。如果误把源码目录加入黑名单,会导致修改不被监听。

  • 排查第三方依赖冲突
    最近新增的babel插件、自定义打包插件或第三方库可能干扰Fast Refresh。可以临时移除这些依赖,重启服务后测试是否恢复,逐步定位问题依赖。

  • 解决系统文件监听限制
    Linux/macOS系统默认文件监听数量有限,当项目文件过多时可能导致Metro无法监听变化:

    # macOS临时提高限制
    ulimit -n 10240
    # Linux永久提高限制
    echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
    

    执行后重启Metro服务即可。

内容的提问来源于stack exchange,提问作者Coder Duck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 16:15:37