Reactjs TypeError:使用react create app jest和Ezyme进行测试时,dispatch不是一个函数

Reactjs TypeError:使用react create app jest和Ezyme进行测试时,dispatch不是一个函数,reactjs,redux,react-redux,jestjs,enzyme,Reactjs,Redux,React Redux,Jestjs,Enzyme,我正在尝试在使用react create app创建的新项目上设置测试。它现在似乎在使用React 16和Jest 3(据说有一些突破性的变化,或者可能是enzime)。我得到了一个类似于这篇文章的错误 TypeError:分派不是一个函数 在App.componentDidMount(src/components/App.js:21:68) 从“React”导入React; 从'react redux'导入{Provider}; 从“酶”导入{mount}; 从“../components/

我正在尝试在使用react create app创建的新项目上设置测试。它现在似乎在使用React 16和Jest 3(据说有一些突破性的变化,或者可能是enzime)。我得到了一个类似于这篇文章的错误

TypeError:分派不是一个函数 在App.componentDidMount(src/components/App.js:21:68)

从“React”导入React;
从'react redux'导入{Provider};
从“酶”导入{mount};
从“../components/App”导入{App};
从“../state/store/configureStore”导入configureStore;
window.store=configureStore({
滑块:{
mainImageIndex:0,
pageNum:1,
每页:4,
},
});
常量appTest=(
);
描述('App',()=>{
它('应该在不崩溃的情况下渲染',()=>{
安装(安装测试);
});

});请不要在
App.js
中同时导出表示组件(命名导出)和容器组件(默认导出)。然后在测试中,您可以使用以下方式导入和使用呈现组件:

import { App } from '../components/App';
但您应该使用以下方法导入已连接的容器组件:

 import App from '../components/App'; // IMPORTANT! - no braces around `App`
由于您使用的是未连接到Redux的组件,所以存储
dispatch
prop不会作为prop注入。只要使用正确的导入,它就会工作。

有关导入默认和命名导出的更多详细信息,请检查此项。关于表示组件和容器组件,您可以阅读。

您可以包括
App
组件代码吗?@BartekFryzowicz感谢您的查看,上面添加了应用代码。剩下的代码在这里:天哪,这么简单的事情。非常感谢。15年前,这一切都是为了在Java中寻找一个缺失的分号,我猜现在是关于花括号。我仍然得到一个错误,虽然现在它是一个网络错误。我可能需要使用nock来模拟API调用或其他一些东西,如果我从那时起切换回shall,那么测试通过了。很高兴我能帮助你:)答案帮助了我,我也面临着同样的问题