javascript - 导出没有装饰器的纯功能组件

标签 javascript reactjs unit-testing redux jestjs

我正在尝试导出一个没有装饰器的组件(在本例中为 connect()) 用于使用 jest 进行单元测试。

那么,我该怎么做:

import React, { Component } from 'react';
import { connect } from 'react-redux';

export class Header extends Component {
    render(){
        return <pre>Header</pre>
    }
}

export default connect()(Header);

有了这个组件(一开始的导出不起作用,它仍然导出连接的组件)

export let Header = props => {
    render(){
        return <pre>Header</pre>
    }
}

Header = connect()(Header);

export default Header;

最佳答案

为连接的组件使用不同的变量,如下代码:

export let Header = props => {
    render(){
        return <pre>Header</pre>
    }
}

let HeaderConnected = connect()(Header);

export default HeaderConnected;

现在您可以在不使用 connect() 的情况下自由导入 Header

关于javascript - 导出没有装饰器的纯功能组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56071594/

相关文章:

javascript - 错误无限滚动Javascript,向上滚动时不加载

javascript - 使用react redux获取删除请求方法不会删除

unit-testing - 如何让初级程序员写测试?

node.js - 如何为nodeJS中的不同测试用例覆盖环境变量?

javascript - 根据 "map"REACT/Materialui 上单选按钮的键设置对象的颜色

unit-testing - 在Go lang中一个接一个地多次模拟具有不同响应的相同功能

javascript - jQuery 可以从字符串变量中的 HTML 标记获取属性吗

javascript - ARB Ple 持有人不工作

javascript - 在代码沙箱内路由,由于 withRouter 而失败

javascript - 使用 react Hook 对数组进行排序