首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Jest/React中的“Connect(App)”的上下文或属性中找不到“store”

在Jest/React中的“Connect(App)”的上下文或属性中找不到“store”是因为在测试环境中没有正确配置Redux store。Connect是React-Redux库中的一个高阶组件,用于将Redux store中的状态和操作映射到React组件的属性中。当在测试环境中使用Connect包裹组件时,需要提供一个模拟的store。

解决这个问题的方法是使用Redux提供的测试工具来创建一个模拟的store,并将其传递给被测试组件。以下是一个可能的解决方案:

  1. 首先,确保你已经安装了redux和react-redux库。可以使用以下命令进行安装:
代码语言:txt
复制
npm install redux react-redux --save-dev
  1. 在测试文件的顶部导入所需的库和组件:
代码语言:txt
复制
import React from 'react';
import { Provider } from 'react-redux';
import { createStore } from 'redux';
import { render } from '@testing-library/react';
import App from './App';
import rootReducer from './reducers'; // 假设你有一个reducers文件来管理Redux的状态
  1. 创建一个模拟的store,并将其传递给被测试组件:
代码语言:txt
复制
const store = createStore(rootReducer); // 创建一个模拟的store

test('renders App component', () => {
  render(
    <Provider store={store}>
      <App />
    </Provider>
  );
  // 进行其他的测试断言
});

通过以上步骤,你可以在测试环境中正确地使用Connect高阶组件,并且能够找到“store”。请注意,这只是一个示例解决方案,具体的实现可能因你的项目结构和配置而有所不同。

关于Jest、React、Redux和React-Redux的更多信息,你可以参考以下链接:

  • Jest官方文档:https://jestjs.io/
  • React官方文档:https://reactjs.org/
  • Redux官方文档:https://redux.js.org/
  • React-Redux官方文档:https://react-redux.js.org/
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券