iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >react关于事件绑定this的方式有哪些
  • 468
分享到

react关于事件绑定this的方式有哪些

2024-04-02 19:04:59 468人浏览 薄情痞子
摘要

小编给大家分享一下React关于事件绑定this的方式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在react组件中,每

小编给大家分享一下React关于事件绑定this的方式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

在react组件中,每个方法的上下文都会指向该组件的实例,即自动绑定this为当前组件,而且react还会对这种引用进行缓存,以达到cpu和内存的最大化。在使用了es6 class或者纯函数时,这种自动绑定就不复存在了,我们需要手动实现this的绑定

React事件绑定类似于DOM事件绑定,区别如下:

1.React事件的用驼峰法命名,DOM事件事件命名是小写

2.通过jsx,传递一个函数作为event handler,而不是一个字符串

3.React事件不能通过返回false来阻止默认事件,需要显式调用preventDefault()

如下实例:

<a href="#" onclick="console.log('The link was clicked.'); return false">
Click me
</a>

class ActionLink extends React.Component {
constructor(props) {
super(props);
}

handleClick(e) {
e.preventDefault();
console.log('The link was clicked.');
}

render() {
return (
<a href="#" onClick={this.handleClick.bind(this)}>Click Me...</a>
);
}

}

ps:React组件类的方法没有默认绑定this到组件实例,需要手动绑定。

以下是几种绑定的方法:

bind方法

直接绑定是bind(this)来绑定,但是这样带来的问题是每一次渲染是都会重新绑定一次bind;

class Home extends React.Component {

 constructor(props) {
  super(props);
  this.state = {
  };
 }

 del(){
  console.log('del')
 }

 render() {
  return (
   <div className="home">
    <span onClick={this.del.bind(this)}></span>
   </div>
  );
 }
}

构造函数内绑定

在构造函数 constructor 内绑定this,好处是仅需要绑定一次,避免每次渲染时都要重新绑定,函数在别处复用时也无需再次绑定

class Home extends React.Component {

 constructor(props) {
  super(props);
  this.state = {

  };
  this.del=this.del.bind(this)
 }

 del(){
  console.log('del')
 }

 render() {
  return (
   <div className="home">
    <span onClick={this.del}></span>
   </div>
  );
 }
}

::不能传参

如果不传参数使用双冒号也是可以

class Home extends React.Component {

 constructor(props) {
  super(props);
  this.state = {

  };
 }

 del(){
  console.log('del')
 }

 render() {
  return (
   <div className="home">
    <span onClick={::this.del}></span>
   </div>
  );
 }
}

箭头函数绑定

箭头函数不仅是函数的'语法糖',它还自动绑定了定义此函数作用域的this,因为我们不需要再对它们进行bind方法:

class Home extends React.Component {

 constructor(props) {
  super(props);
  this.state = {

  };

 }

 del=()=>{
  console.log('del')
 }

 render() {
  return (
   <div className="home">
    <span onClick={this.del}></span>
   </div>
  );
 }
}

以上是“react关于事件绑定this的方式有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网html频道!

--结束END--

本文标题: react关于事件绑定this的方式有哪些

本文链接: https://www.lsjlt.com/news/78201.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • react关于事件绑定this的方式有哪些
    小编给大家分享一下react关于事件绑定this的方式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在react组件中,每...
    99+
    2022-10-19
  • React事件绑定的方式有哪些
    今天小编给大家分享一下React事件绑定的方式有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、是什么在react应用...
    99+
    2023-06-05
  • vue事件绑定方式有哪些
    在vue中实现事件绑定的方式有:1.通过v-on指令绑定;2.使用methods方法绑定;3.通过v-show指令绑定;在vue中实现事件绑定的方式有以下几种通过v-on指令绑定事件window.onload = fun...
    99+
    2022-10-17
  • javascript绑定事件的方式有哪些
    这篇文章主要为大家展示了“javascript绑定事件的方式有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript绑定事件的方式有哪些”这篇文...
    99+
    2022-10-19
  • JavaScript中有哪些事件绑定的方式
    这期内容当中小编将会给大家带来有关JavaScript中有哪些事件绑定的方式,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、直接在 dom 元素上进行绑定<inp...
    99+
    2022-10-19
  • React事件绑定的方式详解
    一、是什么 在react应用中,事件名都是用小驼峰格式进行书写,例如onclick要改写成onClick 最简单的事件绑定如下: class ShowAlert extends...
    99+
    2022-11-12
  • React中事件绑定this指向三种方法的实现
    1.箭头函数 1.利用箭头函数自身不绑定this的特点; 2.render()方法中的this为组件实例,可以获取到setState(); class App extends ...
    99+
    2022-11-12
  • jquery绑定点击事件的方法有哪些
    在jQuery中,绑定点击事件的方法有以下几种:1. 使用`click()`方法绑定点击事件:```javascript$('sel...
    99+
    2023-08-08
    jquery
  • datagridview控件绑定数据的方式有哪些
    DataGridView控件可以通过以下方式绑定数据:1. 数据源绑定:使用DataGridView的DataSource属性将数据...
    99+
    2023-08-08
    datagridview
  • Flex3.0数据绑定的方式有哪些
    小编给大家分享一下Flex3.0数据绑定的方式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用Flex3.0数据绑定来处理数据Flex3.0数据绑定是连接...
    99+
    2023-06-17
  • wpf数据绑定的方式有哪些
    WPF数据绑定的方式有四种:1. 单向绑定(OneWay):数据只能从数据源传递到目标元素,不能从目标元素传递回数据源。2. 双向绑...
    99+
    2023-08-09
    wpf
  • vue数据绑定的方式有哪些
    这篇文章主要讲解了“vue数据绑定的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue数据绑定的方式有哪些”吧! V...
    99+
    2022-10-19
  • vue的数据绑定有哪些方式
    vue中实现数据绑定的方式有:1.使用Mustache语法单向绑定数据;2.通过v-bind指令绑定html属性;3.通过v-once指令一次性绑定数据;vue中实现数据绑定的方式有以下几种使用Mustache语法实现数据单向绑定<d...
    99+
    2022-10-17
  • Flex数据绑定的方式有哪些
    小编给大家分享一下Flex数据绑定的方式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Flex数据绑定 现在数据库或是某个文件里有一些数据需要显示...
    99+
    2023-06-17
  • React创建组件的方式有哪些
    这篇文章主要介绍了React创建组件的方式有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。React推出后,出于不同的原因先后出现三种定...
    99+
    2022-10-19
  • Vue动态绑定Class的常用方式有哪些
    本篇内容主要讲解“Vue动态绑定Class的常用方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue动态绑定Class的常用方式有哪些”吧!第一种:基础用法Html部分:<div...
    99+
    2023-07-05
  • jquery事件监听的方式有哪些
    本篇内容主要讲解“jquery事件监听的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jquery事件监听的方式有哪些”吧! ...
    99+
    2022-10-19
  • c#中datagridview控件绑定数据的方法有哪些
    在C#中,可以通过以下几种方法绑定数据到DataGridView控件:1. 使用DataTable:可以通过将DataTable对象...
    99+
    2023-08-08
    c# datagridview
  • winform关闭窗口事件的方法有哪些
    WinForm关闭窗口事件的方法有以下几种:1. FormClosing事件:在窗口关闭之前触发,可以通过设置Cancel属性来取消...
    99+
    2023-09-08
    winform
  • angularJs中关于ng-class的使用方式有哪些
    小编给大家分享一下angularJs中关于ng-class的使用方式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在开发中...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作