如何使用箭头函数(公共类字段)作为类方法?

2023-12-25

我是在 React 中使用 ES6 类的新手,之前我一直将我的方法绑定到当前对象(如第一个示例所示),但是 ES6 是否允许我使用箭头将类函数永久绑定到类实例? (作为回调函数传递时很有用。)当我尝试像使用 CoffeeScript 一样使用它们时,我收到错误:

class SomeClass extends React.Component {

  // Instead of this
  constructor(){
    this.handleInputChange = this.handleInputChange.bind(this)
  }

  // Can I somehow do this? Am i just getting the syntax wrong?
  handleInputChange (val) => {
    console.log('selectionMade: ', val);
  }

这样如果我通过了SomeClass.handleInputChange到,例如setTimeout,它将作用于类实例,而不是window object.


您的语法稍有偏差,只是在属性名称后面缺少一个等号。

class SomeClass extends React.Component {
  handleInputChange = (val) => {
    console.log('selectionMade: ', val);
  }
}

这是一个实验性功能。您需要在 Babel 中启用实验性功能才能进行编译。是一个启用实验的演示。

要使用 babel 中的实验性功能,您可以从以下位置安装相关插件here https://babeljs.io/docs/plugins/。对于此特定功能,您需要transform-class-properties plugin http://babeljs.io/docs/plugins/transform-class-properties/:

{
  "plugins": [
    "transform-class-properties"
  ]
}

您可以阅读有关类字段和静态属性提案的更多信息here https://github.com/tc39/proposal-class-fields


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

如何使用箭头函数(公共类字段)作为类方法? 的相关文章

  • 在 Three.js 中绕点旋转对象的正确方法是什么?

    关于 Three js 的大多数教程 问题都建议使用 Three js 绕点旋转对象的方法是在要旋转的位置创建父对象 附加对象 然后移动子对象 然后 当父级旋转时 子级围绕该点旋转 例如 Make a pivot var pivot new
  • 将 Javascript 对象的属性从 string 更改为 int

    我有一个对象数组 每个对象具有三个属性 年份 总计 人均 例子 0 Object per capita 125 8 total 1007 2 year 2009 这些属性是字符串 我想创建一个循环来遍历数组并将它们转换为 int 我尝试了以
  • 使用本地存储在从另一个表保存的 HTML TABLE 中打印 JSON,以便我在另一个页面上打印我的表

    在我的作业中 我必须使用用户输入中的数据并将数据保存在本地存储中 我必须以水平表格式将这些数据从本地存储打印到其他页面 为此 我编写了用于用户输入并将数据保存在本地存储中的代码 div p p div
  • 显示具有多个父代的 D3 树

    我目前有this http bl ocks org mbostock 4339083图已实现 我希望在描述具有多个父节点的子节点时保持结构和可折叠性 有没有办法做到这一点 我研究了力图 但我也想保留一组层次结构 这意味着 1 级的父级可以有
  • 如何使用 Playwright 使用选择器查找框架 (iframe)

    我有一个小问题 无法找到使用 Microsoft Playwright 框架的答案 根据您可以使用以下代码获取 iframe const frame page frame frame login 但是如何使用选择器来查找 iframe 并与
  • Number.IsNaN() 比 isNaN() 更糟糕吗

    Soooooo isNaNJavaScript 显然被破坏了 比如 isNaN isNaN isNaN true isNaN false isNaN 0 返回 false 当它们看起来都是 不是数字 在 ECMAScript 6 中 草案包
  • 通过 JavaScript 获取表单名称

    我有一个简单的问题 但我在网上找不到好的解决方案 我有这个 HTML 代码
  • 如何在网站上使用 svg 元素制作块的屏幕截图?

    我在网站上创建了一个构造函数 其本质是将所选元素及其颜色 svg中的元素 添加到访问者选择的背景和背景颜色 png中的背景 中 然后必须单击 保存 结果 按钮并仅执行工作区的屏幕截图 我写了这个脚本 但它需要屏幕截图 但只有背景 并忽略选定
  • IntersectionObserver是否支持水平滚动观察?

    我制作了几个垂直滚动 IntersectionObserver 模块 但我对水平滚动感兴趣 根将是 div 观察目标将是 img 我想观察当 img 放大但 div 保持视口宽度时的变化 我什至不确定移动 Safari 是否会将缩放后的图片
  • 为什么 setTimeout 在 Chrome 中触发两次,而在 IE 或 Firefox 中则不然?

    有人能告诉我为什么 javascript 函数 生成新号码 在 Chrome 中触发两次 但在 IE 或 Firefox 中则不会 使用 Chrome 20 0 1132 57 IE9 和 Firefox 13
  • ReactTransitionGroup 不适用于 React-redux 连接组件

    我正在开发一个更大的项目 但我创建了这个简短的示例来说明问题 如果我使用Box组件 它的工作原理 它在控制台中输出componentWillEnter and componentWillLeave当我们点击按钮时 如果我使用BoxConta
  • JavaScript 继承;调用和原型

    要在Javascript中实现继承 通常需要执行以下两个步骤 假设我有一个基类 Animal var Animal function name this name name 我现在想从中派生一个子类 Dog 所以我想说 var Dog fu
  • JavaScript 中的 Promise 有什么意义?

    一个承诺是一个 可能现在可用 或将来可用 或永远不可用的值 来源 MDN 假设我有一个想要处理图片的应用程序 图片已加载 例如在算法在后台使用它之后 或某种其他类型的延迟 现在我想检查一下图片是否可以在future 通过使用承诺 而不是回调
  • 如何使用 Javascript 设置查询字符串

    有没有办法使用 javascript 设置查询字符串的值 我的页面有一个过滤器列表 单击该列表时 它将更改右侧的页内结果窗格 我正在尝试更新 url 的查询字符串值 因此如果用户离开页面 然后单击 后退 按钮 他们将返回到最后一个过滤器选择
  • mongodb 聚合 - 累积字段的不同组值

    如果我有Player表格文件 name String score Int 我有Group文档 其中组代表玩家列表 groupName String players ObjectID 玩家可以属于多个组 我想做一个聚合Player文档 按以下
  • 如何始终将焦点保持在文本框中

    我创建了一个包含两个 div 的 HTML 页面 左侧的 div 页面的 90 是 ajax 结果的目标 右侧的 div 页面的 10 包含一个文本框 该页面的想法是在文本框中输入零件编号 通过条形码扫描仪 并显示与该零件编号匹配的绘图 显
  • JavaScript eval("{}") 返回行为?

    根据ECMA 262 规范 http www ecma international org publications files ECMA ST Ecma 262 pdf 以下语句返回1 eval 1 eval 1 eval 1 var a
  • 有没有办法使用 ko.observableArray 作为地图?

    有没有办法使用ko observableArray http knockoutjs com documentation observableArrays html像地图 字典一样 例如 var arr ko observableArray
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供

随机推荐

  • 使用 PHP cURL 进行缓存

    我正在使用 PHP cURL 从另一个网站获取信息并将其插入到我的页面中 我想知道是否可以将获取的信息缓存在我的服务器上 例如 当访问者请求某个页面时 系统会获取该信息并在我的服务器上缓存 24 小时 然后 该页面将完全在本地提供 24 小
  • 在虚拟环境中将包安装到全局站点包中

    让我先声明我已阅读过pip 安装在全局站点包中而不是 virtualenv https stackoverflow com questions 20952797 pip installing in global site packages
  • PySpark - 按列的值拆分/过滤 DataFrame

    我有一个与此示例类似的 DataFrame Timestamp Word Count 30 12 2015 example 1 3 29 12 2015 example 2 1 28 12 2015 example 2 9 27 12 20
  • 跨 docker 容器共享内存

    如果使用 Java MQ 类 而不是 JTA 将 Websphere MQ 用作 XA 分布式事务 事务管理器 则 Java 应用程序和 WMQ 都需要驻留在同一主机上 有人告诉我这是因为共享内存被用作进程间通信机制 Java 应用程序和
  • 将 Iterator<(A,B)> 拆分为 Iterator 和 Iterator

    我想分割实现的对象的输出Iterator lt A B gt 分成两个实现的对象Iterator a and Iterator b 由于其中一个输出的迭代次数可能多于另一个 因此我需要缓冲Iterator lt A B gt 因为我不能依赖
  • 将 Patreon API 与 Flutter 应用程序链接

    我对使用 Flutter 很陌生 在没有帮助的情况下从未正确使用过 API 我想让我的应用程序免费 没有大量广告 所以我希望创建一个 Patreon 来支持它的维护 当在线寻找教程视频或任何可用于 Flutter 或我知道如何使用的其他语言
  • 解释错误:“构造函数……无法应用:实际长度和形式长度不同”

    请帮我修复这个错误 类 C10h1 CollegeMember 中的构造函数 CollegeMember 不能 适用于给定类型 必需 java lang String java lang String 发现 没有参数 原因 实际论证和形式论
  • 在 Javascript 中增加 CSS padding-top 属性

    我有一个 CSS 定义为div myDiv padding top 20px padding bottom 30px 在 JS 函数中 我想增加padding top by 10px function DoStuff var myDiv d
  • Pandas 中的固定宽度文件操作

    我有一个具有以下格式的固定宽度文件 5678223313570888271712000000024XAXX0101010006461801325345088800 0784001501 25abc yahoo com 56782233246
  • Spring Mongodb使用DBRef关联获取数据

    我有一个带有嵌套 dbref 地址的零售商类 我想根据属于地址类一部分的城市获取零售商 但我遇到了以下错误 org springframework data mapping model MappingException 路径无效 参考地址
  • 在 Doctrine 中向当前表添加虚拟列?

    我正在使用 Doctrine 1 2 和 Symfony 1 4 假设我有一个用户模型 其中有一个配置文件 这些定义为 User id username password 创建时间 更新时间 Profile id user id 名 姓 a
  • 网络基础设施发现

    我想执行彻底的 LAN 设备发现 以便我可以创建一个与所附图表类似的图表 但包含 IP 和 MAC 地址等附加信息 我尝试过 Torry 的代码 type PNetResourceArray TNetResourceArray TNetRe
  • java.time.format.DateTimeParseException:无法在索引 21 处解析文本

    我得到的日期时间值为 created at 2012 02 22T02 06 58 147Z Read only The time at which this task was created 这是由 Asana 给出的API https
  • 更改 MVC4 上的基本视图类型

    我从下面的链接读到了一篇关于更改 MVC 上的基本视图类型的文章 http haacked com archive 2011 02 21 changing base type of a razor view aspx http haacke
  • 通过main中的内部类对象访问外部类变量

    class Host int x 2 class Helper int x 7 public static void main String args Host ho new Host Helper he ho new Helper Sys
  • Power BI (Power Query) Web 请求导致“CR 必须后跟 LF”错误

    当您使用Web Page Web Contents url 函数从网页中读取表格时 某些网站会因换行不一致而导致错误 DataSource Error 服务器违反了协议 部分 响应标头详细信息 CR 后必须跟 LF 似乎没有任何选项可以传递
  • Ember-data 延迟加载与“links”属性的关联

    我有一位模范老师 他有很多学生 模型定义如下 App Teacher DS Model extend email DS attr string students DS hasMany student App Student DS Model
  • Spring MVC 和 JSP:如何将参数从控制器传递到 JSP?

    我有 2 个 JSP 页面 在第一个页面中我有输入文本表单 我想显示在另一个 JSP 页面中插入的值 使用 Spring MVC 将要传输到下一页的变量放在隐藏字段中 将字段放在与您进入下一页相同的表单中 然后通过 JSTL 获取参数 这是
  • Visual Studio 诊断工具不显示进程内存

    我有一个 VB NET 应用程序 带有 C 库 随着时间的推移 它会消耗大量内存 最终应用程序耗尽内存 我对使用这个词持谨慎态度leaking因为 GC 不应该允许内存泄漏 但也许某处有一个大的 NET 对象 如果是这样我需要识别它 不过
  • 如何使用箭头函数(公共类字段)作为类方法?

    我是在 React 中使用 ES6 类的新手 之前我一直将我的方法绑定到当前对象 如第一个示例所示 但是 ES6 是否允许我使用箭头将类函数永久绑定到类实例 作为回调函数传递时很有用 当我尝试像使用 CoffeeScript 一样使用它们时