栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

我如何在React类Es6中的另一个方法中调用一个方法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我如何在React类Es6中的另一个方法中调用一个方法

您的方法已正确定义,因此问题出在如何 调用上

validateEmail

您以一种设置

this
Something
实例以外的方式调用它。这在事件侦听器中很常见。我想您的代码中有一些类似的代码
render

<button onClick={this.validateEmail} />

React 的推荐解决方案是在构造函数中绑定事件处理程序:

class Something extends React.Component {  constructor() {    super();    this.validateEmail = this.validateEmail.bind(this);  }  // ...}

您还可以从箭头函数内部调用该方法,该函数将的值保留在

this
声明的位置:

<button onClick={() => this.validateEmail()} />

这种方法的缺点

onClick
是每次渲染组件时都会创建一个新的处理程序。


编辑 :同一问题,不同的地方。您

removeStatus
在内部调用
function
,这会失去外部
this
绑定。改用箭头功能:

$.ajax({  success: (response) => {     // etc    this.removeStatus();  }})

进一步阅读:

  • this
    在MDN上
  • 反应“可重用组件”文档


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370859.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号