javascript - Komponen mengikat ini dalam React
大家讲道理
大家讲道理 2017-06-28 09:26:21
0
2
716

<button onClick={this.handleEvent}>    //这里的this是toggle组件 为什么还需要在组件里绑定这个函数的this 
  {this.state.isToggleOn === true ? 'on' : 'off'}
</button>

Saya tidak dapat memahami pengikatan ini di sini

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

membalas semua(2)
三叔

Sebab dalam class中声明函数,并不会自动绑定thisobjek

Jadi, apabila anda onClick={this.handleEvent}, pecahkannya kepada dua langkah dan anda akan faham:

let handleEvent = this.handleEvent;
...onClick={handleEvent}...

Jadi, onClick调用的时候,handleEvent中的this会是undefined (mengikut dokumentasi)

Jadi, apa yang anda perlukanbind一下, 那么里面的this ialah komponen semasa.

Terdapat juga cara mudah untuk menulisnya, iaitu mengisytiharkannya dengan fungsi anak panah:

handleEvent = (e)=>{

}

render(){
  ...onClick={this.handleEvent}...
}
给我你的怀抱

Kerana this.setState...
dalam handleEvent tidak terikat dengan ini

Anda boleh menggunakan gula sintaksis fungsi anak panah untuk mengikat ini

handleEvent = () => {
    this.setState...
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!