导出默认func()(func)如何工作

时间:2017-03-10 22:44:18

标签: javascript

这是一个愚蠢的问题,但我经常看到一种我不理解但我必须使用的语法 例如:

function Navbar(style) {
 console.log(style);
}
export default injectSheet(style)(Navbar);

它似乎是这样工作的:首先执行第一个函数并调用()中传递的第二个函数,并使用第一个函数返回的参数作为参数。 使用我不理解的东西不仅感觉不对,而且也是一个问题,因为我不知道何时使用它/不使用它(我是否需要使用此功能的转换器,我可以在没有{{1}的情况下使用它默认,什么是优点缺点,谁工作)等。

1 个答案:

答案 0 :(得分:1)

这不是特殊语法,它只是默认导出表达式:

export default (injectSheet(style)(Navbar));

injectSheet被定义为curried函数,它将函数作为其第二个参数。它的工作方式与您描述的完全相同。