React関数呼び出し方式、およびピット
3150 ワード
よし、この文章は意外にも人がこんなに多いとは思わなかった....意外にも、markの下で、日を変えて原理を書きましょう.また、次は去年ガチョウ工場での書き方です.後ろのガチョウ工場ではreactは使えません.急いで最後の2つを見るといいですが、他の状況では栄養がありません.試し間違いです.
ケース1:
ケース2:情况三:
ケース1:
constructor(props) {
super(props);
this.login = this.login.bind(this);
}
login(a,b,c) {
console.log(this);//
console.log(a);// 111111
console.log(b);//undefined
console.log(c);//undefined
}
ケース2:
constructor(props) {
super(props);
this.login = this.login.bind(this);
}
login(a,b,c) {
console.log(this);//
console.log(a);// Proxy :Proxy dom
console.log(b);// event
console.log(c);//undefined
}
情况三:
constructor(props) {
super(props);
// this.login = this.login.bind(this);
}
login(a,b,c) {
console.log(this);// , , bind(this),react this ,
console.log(a);// 111111
console.log(b);//undefined
console.log(c);//undefined
}
ケース4:constructor(props) {
super(props);
// this.login = this.login.bind(this);
}
login(a,b,c) {
console.log(this);// null, react ,this window, react , null;
console.log(a);// Proxy :Proxy dom
console.log(b);// event
console.log(c);
}
情况五:
constructor(props) {
super(props);
// this.login = this.login.bind(this);
}
login(a,b,c) {
console.log(this);//
console.log(a);//undefined
console.log(b);//undefined
console.log(c);//undefined
}
ケース6:(es 5のベストプラクティスとして計算でき、es 5の方法で、すべてのパラメータを得る)constructor(props) {
super(props);
// this.login = this.login.bind(this);
this.login=(a,b,c)=>{
console.log(this);//
console.log(a);//111111
console.log(b);// Proxy :Proxy dom
console.log(c);// event:
}
}
最佳实践:(for es6) 老版本
constructor(props) {
super(props);
// this.login = this.login.bind(this);
}
login(type,event,proxy) {
console.log(this);//
console.log(event);// event:
console.log(proxy);// Proxy ,event es6
}
ベストプラクティス:2018(伝参が必要)constructor(props) {
super(props);
}
login=(num, evt)=>{
console.log(num);//
console.log(evt);// event:
}
最佳实践:2018(不需要传参)
constructor(props) {
super(props);
}
login=( evt)=>{
console.log(evt);// event:
}
constructor(props) {
super(props);
// this.login = this.login.bind(this);
}
login(a,b,c) {
console.log(this);// , , bind(this),react this ,
console.log(a);// 111111
console.log(b);//undefined
console.log(c);//undefined
}
constructor(props) {
super(props);
// this.login = this.login.bind(this);
}
login(a,b,c) {
console.log(this);// null, react ,this window, react , null;
console.log(a);// Proxy :Proxy dom
console.log(b);// event
console.log(c);
}
constructor(props) {
super(props);
// this.login = this.login.bind(this);
}
login(a,b,c) {
console.log(this);//
console.log(a);//undefined
console.log(b);//undefined
console.log(c);//undefined
}
ケース6:(es 5のベストプラクティスとして計算でき、es 5の方法で、すべてのパラメータを得る)
constructor(props) {
super(props);
// this.login = this.login.bind(this);
this.login=(a,b,c)=>{
console.log(this);//
console.log(a);//111111
console.log(b);// Proxy :Proxy dom
console.log(c);// event:
}
}
最佳实践:(for es6) 老版本
constructor(props) {
super(props);
// this.login = this.login.bind(this);
}
login(type,event,proxy) {
console.log(this);//
console.log(event);// event:
console.log(proxy);// Proxy ,event es6
}
ベストプラクティス:2018(伝参が必要)constructor(props) {
super(props);
}
login=(num, evt)=>{
console.log(num);//
console.log(evt);// event:
}
最佳实践:2018(不需要传参)
constructor(props) {
super(props);
}
login=( evt)=>{
console.log(evt);// event:
}
constructor(props) {
super(props);
// this.login = this.login.bind(this);
}
login(type,event,proxy) {
console.log(this);//
console.log(event);// event:
console.log(proxy);// Proxy ,event es6
}
constructor(props) {
super(props);
}
login=(num, evt)=>{
console.log(num);//
console.log(evt);// event:
}
constructor(props) {
super(props);
}
login=( evt)=>{
console.log(evt);// event:
}