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

React-Redux中Cannot read properties of undefined (reading 'getState')错误求助

React-Redux项目报错排查:TypeError: Cannot read properties of undefined (reading 'getState')

错误详情

TypeError: Cannot read properties of undefined (reading 'getState')

报错栈:

at /home/ubuntu/online-coding-judge/submissions/1466948/unit-6/sprint-4/day-3/assignments/ReactTheme/node_modules/react-redux/lib/components/Provider.js:36:57
at mountMemo (/home/ubuntu/online-coding-judge/submissions/1466948/unit-6/sprint-4/day-3/assignments/ReactTheme/node_modules/react-dom/cjs/react-dom.development.js:17225:19)
at Object.useMemo (/home/ubuntu/online-coding-judge/submissions/1466948/unit-6/sprint-4/day-3/assignments/ReactTheme/node_modules/react-dom/cjs/react-dom.development.js:17670:16)
at useMemo (/home/ubuntu/online-coding-judge/submissions/1466948/unit-6/sprint-4/day-3/assignments/ReactTheme/node_modules/react/cjs/react.development.js:1650:21)
at Provider (/home/ubuntu/online-coding-judge/submissions/1466948/unit-6/sprint-4/day-3/assig

问题原因

这个错误的核心是React-Redux的Provider无法获取到有效的Redux store实例,结合你所有测试用例未通过的情况,大概率是测试代码中没有用Provider包裹依赖Redux状态的组件,导致组件尝试访问Redux上下文时找不到有效store。

解决方案

1. 给测试用例添加Provider包裹

所有依赖Redux状态的组件(如Theme、Counter、CounterValue)在测试时,必须被Provider组件包裹并传入你的Redux store。示例测试代码如下:

import React from 'react';
import { render } from '@testing-library/react';
import { Provider } from 'react-redux';
import store from '../Redux/store';
import Counter from '../Components/Counter';

test('正确渲染计数器组件', () => {
  render(
    <Provider store={store}>
      <Counter />
    </Provider>
  );
  // 后续断言逻辑
});

2. 验证store的有效性

如果已经添加Provider仍报错,可在store.js末尾添加打印代码,确认store实例是否正常:

// store.js 文件末尾
console.log('store实例:', store);
console.log('store初始状态:', store.getState());

若打印结果中store为undefined,需要检查store的导出路径和导入路径是否匹配。

现有业务代码确认

你提供的业务代码逻辑无问题:

  • store.js正确组合reducers并创建了Redux store
  • index.js正确用Provider包裹了根组件App
  • 各reducers、action创建函数及组件的Redux钩子调用逻辑均符合规范

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 01:18:08