首页 > javascript | es6 求帮分析一下这几行代码的语法

javascript | es6 求帮分析一下这几行代码的语法

运行结果是 export default 成功导出了 CounterApp 这个类
疑问:connect(...)(CounterApp) 这个格式应该怎么理解,特别是两个圆括号是要怎么理解.


export default connect(state => ({
        state: state.counter
    }),
    (dispatch) => ({
        actions: bindActionCreators(counterActions, dispatch)
    })
)(CounterApp);

先谢谢大家了


代码等价于:

var temp = connect(function(state) {
    return {state: state.counter};
},
function(dispatch) {
    return {
        actions: bindActionCreators(counterActions, dispatch)
    };
});

export default temp(CounterApp);

用es7的修饰符可以很清楚的标识这种语法

@connect((state) => {
    return {
        todos: state.todos
    }
})
export default class App extends Component {
    render(){
        return (
        )
    }
}

这是一个react+electron+redux的项目
项目地址:https://github.com/chunmu/PDD-App
@是es7语法的修饰符,修饰紧接着的类,效果类似
@的用法:https://github.com/wycats/javascript-decorators#userconsent#

【热门文章】
【热门文章】