我以为我知道什么是关闭,但我不太确定阅读一些文章反应.
功能是否低于"thunk"?(对我而言,这是一个关闭,我从一篇关于反应https://spin.atomicobject.com/2016/10/05/form-validation-react/的博客文章中看到了这一点)
作者解释说:"接下来,让我们看一下ruleRunner函数.regileRunner是一个thunk,或者是一个返回函数的函数."
export const ruleRunner = (field, name, ...validations) => {
return (state) => {
for (let v of validations) {
let errorMessageFunc = v(state[field], state);
if (errorMessageFunc) {
return {[field]: errorMessageFunc(name)};
}
}
return null;
};
};
Run Code Online (Sandbox Code Playgroud)
相反,我认为thunk是一个包含所有上下文(状态,函数等)的函数,以便在将来执行某种逻辑." 来自:http://www.austinstory.com/what-is-a-thunk-in-javascript/
const add = (x,y) => x + y;
const thunk = () => add(1,2);
thunk() // 3
Run Code Online (Sandbox Code Playgroud)
所以对我来说,第一篇文章的作者是错误的,他给出的描述和闭包的例子不是一个thunk.但我可能错了,这就是我问这个问题的原因.
第一篇文章作者是错误的什么是thunk,并且说thunk是一种特定类型的闭包是"正确的",它包含了为了执行某种类型而需要的所有上下文(状态,函数等)未来的逻辑."
归档时间: |
|
查看次数: |
1172 次 |
最近记录: |