react事件绑定this的几种方式

这次给大家带来react事件绑定this几种方式,react事件绑定this的注意事项有哪些,下面就是实战案例,一起来看一下。

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

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

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

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

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

如下实例:

Click meclass ActionLink extends React.Component {constructor(props) {super(props);}handleClick(e) {e.preventDefault();console.log('The link was clicked.');}render() {return (Click Me...);}}

登录后复制

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

以下是几种绑定的方法:

bind方法

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

class Home extends React.Component { constructor(props) {  super(props);  this.state = {  }; } del(){  console.log('del') } render() {  return (   

); }}

登录后复制

构造函数内绑定

在构造函数 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 (   

); }}

登录后复制

::不能传参

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

class Home extends React.Component { constructor(props) {  super(props);  this.state = {  }; } del(){  console.log('del') } render() {  return (   

); }}

登录后复制

箭头函数绑定

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

class Home extends React.Component { constructor(props) {  super(props);  this.state = {  }; } del=()=>{  console.log('del') } render() {  return (   

); }}

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

JS生成二维码

JS实现微信号随机切换

String.prototype.format如何使用字符串拼接

以上就是react事件绑定this的几种方式的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2781644.html

(0)
上一篇 2025年3月8日 16:20:10
下一篇 2025年3月8日 16:20:25

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • react native使用fetch上传图片

    这次给大家带来react native使用fetch上传图片,react native使用fetch上传图片的注意事项有哪些,下面就是实战案例,一起来看一下。 普通网络请求参数是JSON对象 图片上传的请求参数使用的是formData对象 …

    编程技术 2025年3月8日
    200
  • React BootStrap框架如何使用

    这次给大家带来React BootStrap框架如何使用,使用React BootStrap框架的注意事项有哪些,下面就是实战案例,一起来看一下。 安装 【相关视频推荐:bootstrap教程】 在终端cd到你的项目目录下执行:$ npm …

    2025年3月8日
    200
  • React Native查看组件

    这次给大家带来React Native查看组件,React Native查看组件的注意事项有哪些,下面就是实战案例,一起来看一下。 这篇文章主要介绍了React Native 图片查看组件的方法,小编觉得挺不错的,现在分享给大家,也给大家做…

    2025年3月8日
    200
  • Immutable及React应该如何使用

    这次给大家带来Immutable及React应该如何使用,Immutable及React使用的注意事项有哪些,下面就是实战案例,一起来看一下。 Immutable 可以给 React 应用带来数十倍的提升,也有人说 Immutable 的引…

    2025年3月8日
    200
  • 在React组件中的this如何使用

    这次给大家带来在React组件中的this如何使用,在React组件中的this使用的注意事项有哪些,下面就是实战案例,一起来看一下。 React组件的this是什么 通过编写一个简单组件,并渲染出来,分别打印出自定义函数和render中的…

    2025年3月8日
    200
  • React中的元素、组件、实例和节点如何使用

    这这次给大家带来React中的元素、组件、实例和节点如何使用,React中的元素、组件、实例和节点使用的注意事项有哪些,下面就是实战案例,一起来看一下。 React 深入系列,深入讲解了React中的重点概念、特性和模式等,旨在帮助大家加深…

    编程技术 2025年3月8日
    200
  • ES6箭头函数中的this指向哪里

    这次给大家带来ES6箭头函数中的this指向哪里,使用ES6箭头函数中的this的注意事项有哪些,下面就是实战案例,一起来看一下。 简要介绍:箭头函数中的this,指向与一般function定义的函数不同,箭头函数this的定义:箭头函数中…

    编程技术 2025年3月8日
    200
  • 用CDN的react webpack打包文件

    这次给大家带来用CDN的react webpack打包文件,用CDN的react webpack打包文件的注意事项有哪些,下面就是实战案例,一起来看一下。 此文不介绍webpack基本配置,如果对基本配置有疑问请查阅官方文档。 1、配置we…

    编程技术 2025年3月8日
    200
  • 深入理解javascript中this指针

    本文主要和大家分享深入理解javascript中this指针,在写java的时候,this用错了,idea都会直接报错! 比如…… 在面向对象编程里有两个重要的概念:一个是类,一个是实例化的对象,类是一个抽象的概念,用个形象的比喻表述的话,…

    2025年3月8日 编程技术
    200
  • React项目的服务端渲染改造详解

    因为对网页seo的需要,要把之前的react项目改造为服务端渲染,经过一番调查和研究,查阅了大量互联网资料。成功踩坑。本文主要和大家介绍了详解react项目的服务端渲染改造(koa2+webpack3.11),小编觉得挺不错的,现在分享给大…

    2025年3月8日
    200

发表回复

登录后才能评论