ES6 语法中的这些 () 是什么?

What are these () in ES6 syntax?

我看到这段代码:

const enhance = withHandlers({
    signIn: ({ signIn, provider }) => () => signIn(provider)
});

我理解 enhance 是一个函数。 signIn也是一个函数,但是中间的空()是什么意思呢?为什么不能只是:

signIn: ({signIn, provider}) => signIn(provider)

没有。 () 是箭头函数的一部分。这是一个 return 函数的函数。让我分解一下:

signIn: ({ signIn, provider }) => () => signIn(provider)
        ^                      ^   ^
     Destructuring        Implicit No argument
     assignment           return   arrow function
     for arguments

属性 signIn 是一个接受对象参数的方法,return 是一个执行 signIn(provider).

的函数

您的版本:

signIn: ({signIn, provider}) => signIn(provider)

不是return执行signIn(provider)的函数吗,它return是signIn(provider)的return值。