扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
react函数调用以及传参。先写目前市面上的写法,以及分析他们的不便之处,最后给出个人认为较方便的写法
超过十余年行业经验,技术领先,服务至上的经营模式,全靠网络和口碑获得客户,为自己降低成本,也就是为客户降低成本。到目前业务范围包括了:网站制作、网站设计,成都网站推广,成都网站优化,整体网络托管,微信小程序定制开发,微信开发,重庆APP开发,同时也可以让客户的网站和网络营销和我们一样获得订单和生意!一。先写不传参数的情况
1、es5写法
click(){
dosomething.....
}
调用:onClick={this.click.bind(this)}
每次调用都需要传个this。
有的在constructor这样写
this.click = this.click.bind(this)
2、es6写法
click=()=>{
dosomething...
}
调用:onClick={this.click},感觉很好
二。如果遇到传参就比较麻烦了
1、es5的写法
click(value){
dosomething...
}
调用:onClick={this.click.bind(this,"111")}
依旧每次调用都需要传个this。
2、es6写法
click=(value)=>{
dosomething...
}
调用:onClick={this.click.bind(this,"111")},
虽然第一个参数没用,传什么都行,1,2,3,4都可以,但是还不能不传。很烦
箭头函数调用
onClick={()=>{this.click("1111")}},
函数已经是箭头函数,还要在写个箭头函数,烦
三。对于以上方式,何不为es6重写个bind。箭头函数只写一次,bind不用传this,
Function.prototype.b = function(...args){
var Fn = this;
return function(e){
Fn(...args,e);
}
}
click=(value)=>{
dosomething...
}
调用:onClick={this.click.b("1111")}
,
用法与bind一样,只不过只有有参数的时候才使用,无参数直接onClick={this.click}
就可以了
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流