我正在使用 React 和 Redux。我有一个加载的组件,ChildComponent
根据 Redux 的状态也会加载MainComponent
const ChooseIndex = ({ appInitMount }) => {
return (
<>
<ChildComponent />
{!appInitMount && <MainComponent />}
</>
);
};
const mapStateToProps = ({ main }) => {
return {
appInitMount: main.appInitMount
};
};
export default connect(
mapStateToProps,
mapDispatchToProps
)(ChooseIndex);
我正在尝试编写一个测试来检查是否ChildComponent
已加载:
import React from "react";
import { render } from "react-testing-library";
import ChooseIndex from "../choose-index";
test("ChooseIndex should call ChildComponent", () => {
const wrapper = render(
<ChooseIndex />
);
});
我收到此错误:
错误:未捕获 [不变违规:在“连接(ChooseIndex)”的上下文或道具中找不到“商店”。要么将根组件包装在 a 中,要么将“store”作为道具显式传递给“Connect(ChooseIndex)”。]
我应该通过将对象文字传递给来模拟 ReduxChooseIndex
吗?或者我应该为每个测试创建一个 Redux 存储(就像我的真实应用程序那样)?