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

RN Cli中出现ReferenceError: Can't find variable: React问题求助

解决React Native Cli项目中「Can't find variable: React」错误
  • 检查所有JSX文件的React导入
    虽然你已经在App.js里导入了React,但错误堆栈指向的RootNavigator组件所在文件大概率没导入React。Expo Cli在新版本支持自动导入React,但RN Cli默认没这个配置,所有使用JSX的文件必须显式写:

    import React from 'react';
    

    排查所有自定义组件、导航配置文件(比如RootNavigator.js),确保每个包含JSX的文件顶部都有这行代码。

  • 配置Babel实现React自动导入
    要是不想手动给每个文件加导入,可修改Babel配置自动导入:
    打开项目根目录的babel.config.js,修改为:

    module.exports = {
      presets: ['module:metro-react-native-babel-preset'],
      plugins: [
        ['@babel/plugin-transform-react-jsx', { runtime: 'automatic' }]
      ]
    };
    

    改完后重启Metro服务,记得加清除缓存参数:npx react-native start --reset-cache

  • 彻底清除项目缓存
    缓存残留也可能导致这类问题,按顺序执行以下操作:

    1. 停止当前Metro服务
    2. 运行:npx react-native start --reset-cache
    3. iOS项目额外执行:cd ios && pod install --clean-install && cd ..
    4. Android项目额外执行:cd android && ./gradlew clean && cd ..
      最后重新启动项目:npx react-native run-ios 或 npx react-native run-android
  • 检查依赖版本兼容性
    从Expo迁移到RN Cli可能存在依赖版本不匹配,打开package.json确认react和react-native版本对应(比如RN 0.72.x对应react 18.2.0)。版本不匹配的话,更新依赖后重新安装并清缓存:

    npm install react@匹配版本 react-native@匹配版本
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 04:15:56