React Native+Viro-react项目集成Redux时提示React is not defined问题问询
错误原因
你遇到的React is not defined报错由两个常见问题导致:
- 你的
index.js、index.android.js文件中使用了<Provider>、<App>这类JSX语法,但没有引入React依赖,JSX编译时无法识别对应的底层渲染对象。 - 你导入
Provider时指定了react-redux/src路径,直接引用了react-redux的源码文件,而非包对外暴露的编译后组件,也可能触发依赖解析异常。
修复步骤
- 给
index.js、index.android.js顶部添加React导入语句,所有使用JSX语法的文件都需要引入React:
import React from 'react';
修改后的文件顶部示例:
import React from 'react'; import { AppRegistry } from 'react-native'; import App from './App.js'; import store from './store/index'; import { Provider } from 'react-redux';
- 修改
Provider的导入路径,去掉末尾的/src,直接从react-redux包导入即可:
// 修改前 import { Provider } from 'react-redux/src' // 修改后 import { Provider } from 'react-redux'
- 若修改后仍有依赖报错,可检查是否已安装redux和react-redux依赖,未安装可执行以下命令安装:
npm install redux react-redux # 或使用yarn yarn add redux react-redux
内容的提问来源于stack exchange,提问作者Indunil Girihagama
相关产品推荐
相关产品推荐

