传递箭头函数与传递函数

2023-12-24

假设我有一个函数:

handleChange = (e) => {
  this.setState({ [e.target.id]: e.target.value });
}

以下内容有什么区别:

1.

<FormControl value={this.state.password} onChange={this.handleChange} />
<FormControl value={this.state.password} onChange={(e) => this.handleChange(e)} />

第二种情况是anonymous function创建执行handleChange方法并由此为其提供context.

每次 React 组件渲染时,都会在第二种情况下创建一个新函数,而不是第一种情况,因为向处理程序提供了相同的 handleChange 方法引用。

您可能还想看看render中的箭头函数如何实现上下文绑定 https://stackoverflow.com/questions/47679673/how-does-event-handlers-with-arrow-functions-achieve-context-binding/47680408#47680408

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

传递箭头函数与传递函数 的相关文章

随机推荐

  • 关于 GEKKO 中条件语句('m.if3')的问题

    我想在 GEKKO 代码中添加一些条件语句 我用 m if3 添加了以下语句 但是 它返回了语法错误 如果没有条件语句 我就不会出现这种错误 R1 1 m if3 R1 GEKKO m GEKKO remote False print m
  • 访问表达式主体成员以构建表达式树

    尝试使用表达式树按表达式构建订单 但我无法访问查询结果类的表达式主体属性 这是类结构 public class AssetFileRecord IAuditable IEntity INavigateToCustomValues publi
  • 我可以在 CouchDB 中进行事务和锁定吗?

    我需要执行事务 开始 提交或回滚 锁定 选择更新 我怎样才能在文档模型数据库中做到这一点 Edit 案例是这样的 我想经营一个拍卖网站 我还想如何直接购买 在直接购买中 我必须减少项目记录中的数量字段 但前提是数量大于零 这就是为什么我需要
  • 在 O(nlog(n)) 中查找“最大”重叠间隔对

    问题陈述 Inputn 个间隔的集合 s 1 t 1 s 2 t 2 s n t n Output一对间隔 s i t i s j t j 其中maximum所有区间对之间重叠 Example 输入区间 1 10 2 6 3 15 5 9
  • 如何为“扩展类”编写有意义的测试?

    编写有意义的测试的正确方法是什么扩展一个类 https dart dev guides language language tour extending a class与super关键词 class FooBase
  • Android 相机 takePicture 使用预览小缓冲区

    我正在使用 OPENCV 开发一个项目 我在 onCameraFrame 上有一些进程 当它显示预览时 用户可以拍照 但在某些设备中 我在调用 takePicture 方法后出现错误 我应该怎么办 E Camera JNI 11783 Ma
  • 我如何知道短信是否已到达 Twilio 中的目的地

    我正在开发一个网络应用程序 并且我正在使用 twilio 网关发送短信 我需要在我的页面上显示短信的状态 如果短信已发送 那么它将显示已发送 否则它将显示待处理 所以请告诉我如何知道消息是否已送达 以下是示例代码 public class
  • 如何提供一个后备程序集而不是无法加载的程序集?

    在运行时 如果引用的程序集无法加载 例如 强名称验证失败 因为它是测试签名的 有没有办法从另一个真实签名的路径提供替换程序集 我尝试订阅 AppDomain CurrentDomain AssemblyResolve 但它没有被触发 因为
  • 如何在Python 3中将二进制文件转换为列表中的文本文件?

    我正在尝试编写一个 Python 程序 该程序从 LabView 中获取多个二进制文件 从 tkinter 对话框中选择并打开 并将它们转换为可读的文本文件 或 csv 文件 理想情况下 但是 我在二进制到文本转换方面遇到了麻烦 我尝试查看
  • 如何快速比较颜色

    我正在尝试比较颜色 但无法使用isEqual方法 因为我正在尝试比较背景的颜色UICollectionViewCell 在这种情况下比较颜色的正确方法是什么 if cell layer backgroundColor UIColor red
  • 显示旋转轮图像直到整个页面加载

    我正在使用下面的代码 在布局页面的 body 标签内 div img src images user profile ajax loading gif alt Loading div 在起始页中 css div loading height
  • 如何使用 C++ 更改、替换或删除文本文件中的行?

    如何使用 C 更改 替换或删除文本文件中的行 我有一个文本文件 其中包含用户的登录信息 用户名和密码 例如 file Jimmy jim1236 tom tommy545 现在我怎样才能编写一个程序 允许用户在登录系统后更改自己的密码呢 我
  • 使用 csv.reader 的制表符分隔文件未分隔我期望的位置

    我正在尝试使用 Python 循环遍历选举结果的制表符分隔文件 以下代码不起作用 但是当我使用具有相同结果的本地文件 注释掉的行 时 它确实按预期工作 我唯一能想到的是我需要传递网址的一些标头或内容类型 但我无法弄清楚 为什么会发生这种情况
  • 获取 Google BigQuery 中给定月份的总天数?

    我可以创造用户定义函数 https cloud google com bigquery user defined functions并计算给定月份的总天数 有没有直接的方法来获取给定日期的给定月份中的总天数 eg select date t
  • 使用 PIL 时释放内存

    我正在使用 PIL Python 图像库 编辑图像 每一步 转换 旋转 调整大小 都会创建更多图像 文档摘录 返回旋转给定度数的图像的副本 所以我想释放内存 你知道下面的做法是否节省内存 import PIL Image image PIL
  • Socket.io 在两个 Node.js 应用程序之间触发事件?

    我有两台服务器 一台用于后端应用程序 另一台为前端服务 它们是抽象的 但共享相同的数据库 我需要两者使用 socket io 在彼此之间进行实时事件通信 前端 serves a front end website var appPort 9
  • 如何在列上添加隐藏属性?

    创建时态表时 我们需要定义开始和结束日期时间列 这可以是hidden 不可见于SELECT or INSERT without columns 我想再添加一列 其中包含有关已提交更改的用户的信息 问题是 我收到以下错误 Msg 13735
  • 避免在 selenium 调用期间打开远程服务器上的浏览器

    我使用 webdriver 编写了一个 Selenium 应用程序 我希望在远程服务器上运行它 当我通过 putty 以及 Xming 登录服务器来做到这一点时 selenium 会尝试仅在服务器上打开浏览器并通过外部显示器加载页面 然而
  • 使用 lucene 提取 tf-idf 向量

    我已经使用 lucene 索引了一组文档 我还为每个文档内容存储了 DocumentTermVector 我编写了一个程序并获取每个文档的词频向量 但是如何获取每个文档的 tf idf 向量 这是我的代码 用于输出每个文档中的术语频率 Di
  • 传递箭头函数与传递函数

    假设我有一个函数 handleChange e gt this setState e target id e target value 以下内容有什么区别 1