react函数调用以及传参。
一。先写不传参数的情况
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"))},
3、对于以上方式,何不为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}
就可以了
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。