为什么传递函数ref而不是调用函数的lambda有什么区别?

时间:2019-07-04 13:09:10

标签: javascript reactjs

今天,我尝试将setState函数传递给util函数,并在传递函数方面得到了不同的结果。我想知道为什么这会有所不同。

我有一个这样的方法:

function handleChange(setState) {
  setState(oldState => { ... oldState, ... someNewAttributes}
}

当我尝试将其传递给我时,它给我一个错误(“ TypeError:无法读取未定义的属性'updater'”)

handleChange(this.setState);

但是如果我把它包裹在一个兰巴中,它就像一个护身符一样工作:

handleChange((x) => this.setState(x));

有人可以用Javascipt机制解释这一点,为什么会有所不同?

0 个答案:

没有答案