首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ES6导入和导出模块

ES6导入和导出模块
EN

Stack Overflow用户
提问于 2019-07-18 16:08:20
回答 2查看 39关注 0票数 0

在另一个文件中,我是这样导入的,但是当我在测试中使用时,我得到了错误React.createElement: type is invalid --需要一个字符串(对于内置组件)或一个类/函数(对于复合组件),但got: undefined。您可能忘记了从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入。可以是什么?

代码语言:javascript
复制
import  { RateComponent,  mapStateToProps }   from '../components/Rate';
 it ('renders correctly if has data', () => {
    const tree = shallow( <RateComponent dispatch={jest.fn()}/>);
    expect(tree).toMatchSnapshot();
  });

这就是我导出的方式。

代码语言:javascript
复制
export 
{
  RateComponent,
  mapStateToProps
}
export default connect(mapStateToProps)(RateComponent);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-18 16:13:36

尝试导入默认导出,看看是否有效

代码语言:javascript
复制
import RateComponent from '../components/Rate';

此外,您也不需要导出mapStateToProps

票数 0
EN

Stack Overflow用户

发布于 2019-07-18 18:09:07

只需从文件中导入RateComponent即可,这一点已经清楚地说明过了。并将一些道具传递给RateComponent进行测试,以浅层呈现组件并匹配快照

代码语言:javascript
复制
it ('renders correctly if has data', () => {
  const props = {
    // ...Define your props here with some values
  };
  const tree = shallow( <RateComponent {...props}/>);
  expect(tree).toMatchSnapshot();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57089873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档