react事件处理函数中绑定this的bind()函数
问题引入
import React, { Component } from 'react'; import {Text,View } from 'react-native';export default class App extends Component<Props> {constructor(props){super(props)this.state={times:0}this.timePlus=this.timePlus.bind(this);}timePlus(){let time=this.state.timestime++this.setState({times:time})}render() {return (<View><Text onPress={this.timePlus}>有本事点我呀</Text> //<Text onPress={this.timePlus.bind(this)}>有本事点我呀</Text> <Text>你点了我{this.state.times}次</Text> </View> ); } }
每次在处理事件函数时都需要绑定this的bind函数;
bind() 最简单的用法是创建一个函数,使这个函数不论怎么调用都有同样的 this 值。
bind()方法会创建一个新函数,当这个新函数被调用时,它的this值是传递给bind()的第一个参数, 它的参数是bind()的其他参数和其原本的参数.
this.x = 9; var module = {x: 81,getX: function() { return this.x; } };module.getX(); // 返回 81 var retrieveX = module.getX; retrieveX(); // 返回 9, 在这种情况下,"this"指向全局作用域// 创建一个新函数,将"this"绑定到module对象 var boundGetX = retrieveX.bind(module); boundGetX(); // 返回 81
从实例可以看出:React构造方法中的bind会将handleClick函数与这个组件Component进行绑定以确保在这个处理函数中使用this时可以时刻指向这一组件。
源码地址:https://github.com/zuobaiquan/react-native/tree/master/myExercise/firstProject
转载于:https://www.cnblogs.com/zuobaiquan01/p/8728949.html
react事件处理函数中绑定this的bind()函数相关推荐
- 面试让写一个“bind”函数,详解五层bind函数进阶写法,带你写出一个让面试官满意的 “bind” 函数
文章目录 手写bind函数 第一层 - 绑定在原型上的方法 第二层 - 改变this的指向 第三层 - 支持柯里化 第四层 - 考虑 new 的调用 第五层 - 保留函数原型 总结最终版bind函数 ...
- c语言中bind函数,c/c++ 标准库 bind 函数详解
bind函数定义在头文件 functional 中.可以将 bind 函数看作一个通用的函数适配器,它接受一个可调用对象,生成一个新的可调用对象来"适应"原对象的参数列表. bin ...
- 【C 语言】C 项目开发代码规范 ( 形参合法性判断 | 函数返回值局部变量 | 函数中不用全局变量 | 函数中使用局部变量接收形参 | 函数返回值 | 形参作返回值 | 形参返回值处理 )
文章目录 一.C 项目开发代码规范 一.C 项目开发代码规范 上一篇博客 [C 语言]字符串模型 ( 键值对模型 ) 中 , 完成了字符串的 键值对 查找功能 , 代码不太规范 ; C 项目开发代码规 ...
- 编写一个C程序,实现以下功能:编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101。在main函数中输入整数n,调用函数,输出它的二进制
题目要求: 编写一个C程序,实现以下功能: //编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101. //在main函数中输入整数n,调用函数 ...
- 定义两个同名的重载函数,分别求矩形和圆的周长,然后在main函数中对这两个函数进行调用并测试其功能
定义两个同名的重载函数,分别求矩形和圆的周长,然后在main函数中对这两个函数进行调用并测试其功能. 求矩形的周长时需要输入矩形的长和宽:求圆的周长时需要输入圆的半径. #include<ios ...
- bind函数怎么用JAVA_JavaScirpt 的 bind 函数究竟做了哪些事
JavaScirpt 的 bind 函数究竟做了哪些事 文章原地址: https://github.com/catchonme/blog/issues/2 ES5 实现 bind 函数如下Functi ...
- 如何在matlab sfunction 函数中调用自己写的函数?
自己编写了一个s函数,有几个参数引用了自己写的几个函数,在脚本中可以正确运行,但在写成s函数,进行 simulink 仿真的时候,已知提示"too many input auguments& ...
- 凡是函数中未指定存储类型_函数中未指定存储类别的局部变量,其隐含的存储类别为()...
展开全部 函数中未指定存储类别的局部变量,其隐含的存储类别为自动存32313133353236313431303231363533e59b9ee7ad9431333431353338储类别. 函数中的 ...
- JavaScript函数中的arguments(js函数中的arguments,函数默认参数arguments)
简述:js中的函数大家都比较熟悉,今天来分享下函数中的默认参数arguments.js的函数参数和其他的语言有些不同,它并不介意你传进来多少个参数,以及参数的数据类型,即使你在定义函数时,只设置了两个 ...
最新文章
- IO 模拟 1/2 Bias、1/4 Duty的 LCD 驱动
- 【Python】洛谷 P1175_表达式的转换(逆波兰式、中缀表达式、后缀表达式、栈)
- Vue + Spring Boot 项目实战(三):使用IntelliJ IDEA快速生成 Vue.js 项目
- 读了鸿蒙 OS 的代码后,我发现优秀项目都有这个共性!
- some any oracle,Oracle之 any、some、all 解析
- Linux段错误-转
- 运行matlab生成多张图片后如何瞬间将图片全部关闭
- 你以为海淘产品能逃过海关法眼?大数据技术一网打尽
- 24.Plugin System
- 字节跳动开源!超好用的视频抠图工具;GitHub开源项目维护协作指南;自动化数据清洗工具包;强化学习入门教程;前沿论文 | ShowMeAI资讯日报
- Opencv模板匹配学习
- 使用Python实现一个简单的聊天室
- svn服务器搭建ip指定,mac 局域网svn服务器搭建
- .Net4.0 任务(Task)
- 中南大学移动宽带连接路由器解决方案
- 三个死刑犯的自白,哪个最牛?
- C# 在Excel中绘制图形
- Java截取字符串(substring)
- 关于 Intel CPU 和Iris Xe Graphics的报告问题
- 2023MathorCup 高校数学建模挑战赛D题思路解析
热门文章
- python高级语法装饰器_Python高级编程——装饰器Decorator超详细讲解上
- php前台用户权限开通,vue实现网站前台的权限管理
- 工业机器人用铸铁牌号_常用铸铁牌号
- mysql 的数据库实例理解_理解数据库和实例
- 0 win10重装partition_教你在安装WIN10系统中所遇到问题处理方法
- wxpython可视化_使用wxPython的绘图模块wxPyPlot进行数据可视化
- Win32ASM-进程学习[3]-读写进程空间
- 宏定义 #define 和常量 const 的区别
- 域名自动跳转不搭建服务器,宝塔搭建的服务器WEB系统环境如果做域名301跳转
- 零拷贝机制在文件传输中的使用手法