React/Redux 中的 Javascript 函数语法

丹·祖泽维奇

这甚至可能更像是一个通用的 Javascript(可能是 es6)问题,但在这里让我们看看它是如何发挥作用的。

我每天都会遇到这种类型的语法,并且开始为我不明白这些东西在幕后如何工作而感到恼火:

const createStoreWithMiddleware = applyMiddleware(reduxThunk)(createStore)

我可以看到 applyMiddleware 显然是一个函数,在这个例子中,它以 reduxThunk 作为参数。但是,我不知道 createStore 在它旁边的括号中在做什么。

这个例子也是如此,我对 UserList 发生的事情感到困惑:

export default connect(mapStateToProps)(UserList)

谁能向我解释这里发生了什么?对两者的解释将不胜感激,因为它们都用于不同的目的,并且最终成为一种表达。

TJ克劳德

这:

const createStoreWithMiddleware = applyMiddleware(reduxThunk)(createStore)

与此完全相同:

const temp = applyMiddleware(reduxThunk);
const createStoreWithMiddleware = temp(createStore);

(但没有temp变量。)

代码applyMiddleware使用参数调用reduxThunkapplyMiddleware返回一个函数然后,代码使用createStore参数调用该函数

这是一个没有库或类似库的简单示例:

function createAdder(valueToAdd) {
    return function(valueToAddTo) {
        return valueToAddTo + valueToAdd;
    };
}

// Doing it all at once
const result1 = createAdder(5)(10);
console.log(result1); // 15

// Doing it step by step
const addFiveTo = createAdder(5);
const result2 = addFiveTo(10);
console.log(result2); // 15

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章