javascript - React 中的箭头函数

标签 javascript reactjs

我刚刚浏览了一些 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/

相关文章:

javascript - 在 Javascript 中将时间转换为 24 小时格式

Javascript - 如何检查特定 'index' 处函数中的参数是否丢失?

javascript - select2 背后的 Javascript 功能是什么

javascript - 推送到 useReducer 状态的特定路径处的数组

javascript - this.props.function 不是一个函数

javascript - history.forward() 不影响浏览器

DOM 对象的 Javascript 集合 - 为什么我不能使用 Array.reverse() 反转?

javascript - Reactjs 多下拉菜单

reactjs - 如何在 react 表访问器中调用函数? ( react )

reactjs - Redux store 正在更新,但组件没有重新渲染