React项目报错:'Provider'未从'react-redux'导出,求协助排查
问题:react-redux导入Provider报错但源码已导出
我的index.js代码
import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; import { Provider } from 'react-redux'; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( <React.StrictMode> <Provider store={store} > <App /> </Provider> </React.StrictMode> );
运行时错误
./src/index.js
Attempted import error: 'Provider' is not exported from 'react-redux'.
项目中react-redux的导出源码
import Provider from './components/Provider'; import connect from './components/connect'; import { ReactReduxContext } from './components/Context'; import { useDispatch, createDispatchHook } from './hooks/useDispatch'; import { useSelector, createSelectorHook } from './hooks/useSelector'; import { useStore, createStoreHook } from './hooks/useStore'; import shallowEqual from './utils/shallowEqual'; export * from './types'; export { Provider, ReactReduxContext, connect, useDispatch, createDispatchHook, useSelector, createSelectorHook, useStore, createStoreHook, shallowEqual };
排查解决步骤
- 清除包管理器缓存:
- npm用户执行:
npm cache clean --force - yarn用户执行:
yarn cache clean
- npm用户执行:
- 删除
node_modules文件夹和锁文件(package-lock.json或yarn.lock),重新安装依赖:rm -rf node_modules package-lock.json npm install - 检查react-redux版本:执行
npm list react-redux查看版本,若版本异常,重新安装稳定版:npm install react-redux@latest - 排查构建工具配置:
- 若用webpack,检查是否存在模块解析规则错误,比如误排除react-redux编译、别名配置冲突
- 若用Create React App,可新建一个最小测试项目验证是否能正常导入Provider,排除当前项目配置问题
- 检查重复依赖:执行
npm ls react-redux确认是否有多个版本的react-redux被安装,若有则清理重复依赖
内容的提问来源于stack exchange,提问作者Harshad
相关产品推荐
相关产品推荐

