我刚刚浏览了一些 react 代码,我对这个箭头函数有点困惑。 我知道抽屉是函数名,这里的 open 是一个参数,那 () 呢?它有什么用?有人可以解释一下吗?非常感谢!
drawer = open => () => {
this.setState({
test: open,
});
};
我可以通过this.drawer(true)调用这个函数
最佳答案
这称为 curried function .
它相当于以下代码:
drawer = (open) => () => {
this.setState({
test: open,
});
};
该函数需要调用两次才能执行:
drawer('something')();
第一次调用:drawer('something')
将返回另一个函数,您只需使用已为您设置的open
值调用一次即可。
它通常用于预配置传递给组件 props 的回调:
<DrawerOpener setOpen={this.drawer(true)}/>
然后,您的组件 DrawerOpener
可以调用 props.setOpen()
来触发 open 事件,但无法更改的 open
变量函数。
关于javascript - React 中的箭头函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57611979/