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

React项目集成react-redux使用Provider组件出现异常错误如何解决?

问题根因

从报错栈可以判断是版本不兼容问题:你当前使用的react-redux版本依赖React Hooks特性(Provider内部调用了useMemo这个Hook API),而Hooks是React 16.8.0版本才新增的特性,如果你项目中的React版本低于16.8.0,就会触发该报错。

解决方案

你可以选择以下任意一种方案解决:

方案1:升级React版本(推荐)

直接将项目的React升级到支持Hooks的版本,执行以下命令:

npm install react@latest react-dom@latest

升级完成后重启项目即可。

方案2:降级react-redux版本

如果你不想改动现有React版本,可以将react-redux降级到不依赖Hooks的6.x版本,执行以下命令:

npm install react-redux@6.x

额外兼容优化

你当前store.js中的DevTools配置存在兼容性问题,在没有安装Redux DevTools插件的浏览器环境下会导致store初始化失败,建议修改为更稳妥的写法:

// store.js
import {createStore, applyMiddleware, compose} from 'redux';
import thunk from 'redux-thunk';
import rootReducer from './reducers/index';

const initialState = {};
const middleware = [thunk];
// 兼容无DevTools插件的环境
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const store = createStore(rootReducer, initialState, composeEnhancers(applyMiddleware(...middleware)));

export default store;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:36:00