C语言调用es6,ES6 箭头函数、普通函数、调用方法

importReact,{Component} from'react';import{

Platform,StyleSheet,Text,Image,View,TouchableOpacity,ToastAndroid,} from'react-native';

export default classsrrowFunDemo extendsComponent {

constructor(props) {

super(props);this.state= {

data0: '点击0',data1: '点击1',data2: '点击2',data3: '点击3',data4: '点击4',data5: '点击5',}

};//箭头函数(无参)press0= () => {

this.setState({

data0: "0被点击了"});ToastAndroid.show('0被点击了',ToastAndroid.SHORT);};

//一般方法(无参)press1() {

this.setState({

data1: "1被点击了"});ToastAndroid.show('1被点击了',ToastAndroid.SHORT);};

//一般方法(无参)press2() {

this.setState({

data2: "2被点击了"});ToastAndroid.show('2被点击了',ToastAndroid.SHORT);};

//一般方法(有参)press3(x,y) {

this.setState({

data3: x+y

});ToastAndroid.show('3被点击了: '+this.state.data3,ToastAndroid.SHORT);};

//一般方法(有参)press4(x) {

this.setState({

data4: x

});ToastAndroid.show('4被点击了',ToastAndroid.SHORT);};

//箭头函数(有参)press5= (x) => {

this.setState({

data5: x

});ToastAndroid.show('5被点击了',ToastAndroid.SHORT);};

render() {

return(

{/*正确的方式应该不在render的时候立即执行。因此正确调用方法如下,同时,箭头函数将一个函数赋值给press0变量,变量在调用的时候自然不需要加()*/}

// onPress={this.press0} //如果该方法本身就是箭头函数,那么直接调用this.press0// onPress={()=>this.press0()}//无论该方法是箭头函数还是普通函数,都可以利用该方法来执行()=>this.press0()onPress={this.press0.bind(this)}//无论该方法是箭头函数还是普通函数,都可以利用该方法来执行()=>this.press0()>{this.state.data0}{/*普通函数的无参与有参的调用方式相同。注意的是有参的函数使用bind方式传递参数时this必须在最前面。*/}

onPress={() => this.press1()}

>{this.state.data1}

onPress={this.press2.bind(this)}

>{this.state.data2}

onPress={this.press3.bind(this,2222,1111)}

>{this.state.data3}

onPress={()=>this.press4(2222)}

>{this.state.data4}

{/*下面的调用方法错误,原因:下面的调用方式导致onpress事件直接被调用press5方法修改了state,由于state被修改,页面被重新渲染,再次直接调用press5形成循环*/}

{/*正确函数调用方式1、箭头方法 onPress={() => this.press1()} (无参、箭头函数或普通函数,都可以用此方式调用)2、箭头方法 onPress={() => this.press1(xx)} (有参、箭头函数或普通函数,都可以用此方式调用)3、bind方式 onPress={this.press2.bind(this)} (无参、箭头函数或普通函数,都可以用此方式调用)4、bind方式 onPress={this.press2.bind(this,x)}(有参、箭头函数或普通函数,都可以用此方式调用)*/}

//错误//onPress={this.press5(2222)}//正确onPress={this.press5.bind(this,2222)}

//正确//onPress={()=>this.press5(2222)}>{this.state.data5});}

}

conststyles = StyleSheet.create({

text: {

backgroundColor: 'red',width: 200,height: 30,marginBottom: 50,justifyContent:'center',alignItems: 'center',},});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2020蓝桥杯省赛---java---B---9(子串分值和)

题目描述 时间限制: 3.0s 内存限制: 512.0MB 本题总分:25 分【问题描述】 对于一个字符串 S,我们定义 S 的分值 f(S) 为 S 中出现的不同的字符个 数。例如 f(”aba”) 2,f(”abc”) 3, f(”aaa”) 1。 现在给定一个字符串 S[0…n−1]&…

GitHub 贡献第一的微软开源软件列表

作者|木环 编辑|小智 在GitHub上贡献最多的公司,不是Facebook,也不是Google,而是微软。InfoQ对微软数个较受社区欢迎的项目进行了整理,以飨读者。希望开源的精神,能给技术社区带来更多的实惠&am…

mybatis入门(七)之日志

转载自 mybatis入门(七)之日志 Mybatis 的内置日志工厂提供日志功能,内置日志工厂将日志交给以下其中一种工具作代理: SLF4JApache Commons LoggingLog4j 2Log4jJDK logging MyBatis 内置日志工厂基于运行时自省机制选择合适…

Photoshop图像修饰工具

一、修饰工具: 1.准确来说是一个修饰工具组。 2.进行图像修饰时,没根据具体情况,进行针对性的选择相应的工具进行修饰。 二、仿制图章工具组: 1.仿制图章工具组 2.图案图章工具 三、修复工具组 1.污点修复画笔工具 2.修复画笔工具 3.修补工具…

android 画布控件,Android canvas画图操作之切割画布实现方法(clipRect)

本文实例讲述了Android canvas画图操作之切割画布实现方法。分享给大家供大家参考,具体如下:android切割画布的历程不算很难,可是理解起来也比较麻烦,这里写一下我的理解 但是不一定正确:canvas.clipRect(30,30,70,Reg…

MyBatis传入多个参数的问题

转载自 MyBatis传入多个参数的问题 一、单个参数&#xff1a; public List<XXBean> getXXBeanList(String xxCode); <select id"getXXXBeanList" parameterType"java.lang.String" resultType"XXBean">select t.* from tableN…

老司机实战Windows Server Docker:5 Windows Server Dockerfile葵花宝典

前面两篇&#xff08;简单运维1、简单运维2&#xff09;介绍了一些Windows Server Docker相关的基本运维知识。今天这一篇&#xff0c;Windows Server Dockerfile葵花宝典&#xff0c;涵盖了许多典型场景的Windows Server下的Dockerfile实例&#xff0c;并且每一个都包含可直接…

2020蓝桥杯省赛---java---B---2(寻找 2020)+测试txt

题目描述 text 0020000002202020002220002022002222202022020200022200020200222022002202202020020022200202000000002200222002022220222202220000222202200200202220200222200222202200000220220020202200022002200200200222000202220202002000000202200200220022020002022…

用一年的时间,依靠SEO创造一个成功的网站

以下内容是一位SEO前辈&#xff08;站长世界的创始人Brett Tabke&#xff09;写的&#xff0c;这篇文章在我最初学习SEO时&#xff0c;深刻得影响了我&#xff0c;给我了足够的自信。希望对你也有所帮助。 a)准备工作和建立内容。      在你注册域名之前&#xff0c;你就应…

Mybatis传入参数类型为Map

转载自 Mybatis传入参数类型为Map mybatis更新sql语句&#xff1a; <update id"publishT00_notice" parameterType"Map"> update test set createdate #{createdate}, creator #{creator} where id in <foreach collection"ids"…

android merge的作用,Android学习手记-merge

为什么用merge&#xff1a;标签的作用是合并UI布局&#xff0c;使用该标签能降低UI布局的嵌套层次。该标签的主要使用场景主要包括两个&#xff0c;第一是当xml文件的根布局是 FrameLayout时&#xff0c;可以用merge作为根节点。理由是因为Activity的内容布局中&#xff0c;默认…

新起点!新征程!

好久没有更新公众号了&#xff0c;其一是因为最近这段时间有点“忙”&#xff08;迫于其他原因&#xff0c;目前包括本公众号一共运营4个公众号&#xff0c;精力不充沛&#xff09;&#xff0c;其次就是犯了懒病不想动。其中博客中也没有更新比较有质量的博文了。感觉自己堕落颓…

2020蓝桥杯省赛---java---B---3(蛇形填数)

题目描述 思路分析 找规律 看对角线 1481216 代码实现 package TEST;public class Main {public static void main(String[] args) {int res 1, t 4;for(int i2; i<20; i) {res t;t 4;//1481216}System.out.println(res); //761}}答案 761

linux微信公众号报警,zabbix报警媒介,微信报警,邮件报警

微信报警首先要申请微信企业公众号&#xff0c;创建相应应用&#xff0c;然后进行配置微信企业公众号申请&#xff0c;目前可免费前往该地址进行申请注册过程很简单&#xff0c;不信你试然后进行企业公众号的基础设置服务端报警微信脚本[rootbogon alertscripts]# pwd/usr/loca…

Mybatis传多个参数(三种解决方案)

转载自 Mybatis传多个参数&#xff08;三种解决方案&#xff09; 据我目前接触到的传多个参数的方案有三种。 第一种方案 DAO层的函数方法 public User selectUser(String name,String area); 对应的Mapper.xml <select id"selectUser" resultMap&quo…

色彩调整与校正

一、Photoshop中所有关于色彩调整的功能都在 图像–》调整子菜单中。 二、色阶&#xff1a; 1.图像–》调整–》色阶 2.快捷键&#xff1a;ctrll 3.设置白场点黑色全变白&#xff0c;设置黑场点白色全变黑 4.设置红绿蓝通道&#xff1a; 1)红通道黑场滑块往右拖&#xff0c;蓝绿…

编写高效率的C#代码

周末空闲&#xff0c;选读了一下一本很不错的C#语言使用的书&#xff0c;特此记载下便于对项目代码进行重构和优化时查看。 Standing On Shoulders of Giants&#xff0c;附上思维导图&#xff0c;其中标记的颜色越深表示在实际中的实际意义越大。 名称内容和示例提供API时尽量…

2020蓝桥杯省赛---java---B---1(门牌制作)

题目描述 代码实现 package TEST;public class Main {public static void main(String[] args) {int sum0;for (int i 0; i < 2020; i) {int tempi;while (temp>0){if(temp%102){sum;}temp/10;}}System.out.println(sum);} }答案 624

图层与蒙版

一、图层&#xff1a; 1.图层可以比作是透明的像素薄片 2.除背景层之外&#xff0c;其他图层可以任意堆叠 3.图层通常分为背景图层、普通图层、文字图层、蒙版图层、矢量蒙版图层、形状图层、填充/调整图层。 4.视图–》窗口–》图层 5.快捷键&#xff1a;f7 6.图层的调整顺序&…

使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件

转载自 使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件 Mybatis属于半自动ORM&#xff0c;在使用这个框架中&#xff0c;工作量最大的就是书写Mapping的映射文件&#xff0c;由于手动书写很容易出错&#xff0c;我们可以利用Mybatis-Generator来帮我们自动生成文…