gpt4 book ai didi

javascript - 返回空对象的箭头函数然后返回一个函数?

转载 作者:行者123 更新时间:2023-12-03 01:25:33 26 4
gpt4 key购买 nike

我在其他地方搜索过这里发生的情况,但找不到类似的示例。

export const validateToken = (token) => () =>
api.user.validateToken(token);

这是否是说导出一个函数,该函数接受一个应该是 token 的对象,然后什么也不返回?然后调用validateToken函数但传入初始 token 对象?

这和以下有什么区别:

export const validateToken = (token) =>
api.user.validateToken(token);

为什么,如果我删除额外的 () 和 => 我会收到错误:

Error: Actions must be plain objects. Use custom middleware for async actions.


12 |
13 | componentDidMount() {
14 | // pass token from route
> 15 | this.props.validateToken(this.props.match.params.token);
16 | }
17 |
18 | render() {

我显然在这里遗漏了一些重要的东西。感谢任何和所有帮助。

最佳答案

该函数实际上返回另一个函数。如果您不使用箭头语法来编写它,它可能看起来更清晰一些:

function validateToken(token){
return function(){
return api.user.validateToken(token);
};
}

这是函数式编程中常见的事情。它与 currying 等概念相关。 ,您可以将参数部分应用于函数以创建新函数。

一个示例用法如下:

let validate1=validateToken('abc');
validate1(); //=>output from api.user.validateToken('abc')

关于javascript - 返回空对象的箭头函数然后返回一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51563100/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com