84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
<button onClick={this.handleEvent}> //这里的this是toggle组件 为什么还需要在组件里绑定这个函数的this {this.state.isToggleOn === true ? 'on' : 'off'} </button>
Saya tidak dapat memahami pengikatan ini di sini
光阴似箭催人老,日月如移越少年。
Sebab dalam class中声明函数,并不会自动绑定thisobjek
class
this
Jadi, apabila anda onClick={this.handleEvent}, pecahkannya kepada dua langkah dan anda akan faham:
onClick={this.handleEvent}
let handleEvent = this.handleEvent; ...onClick={handleEvent}...
Jadi, onClick调用的时候,handleEvent中的this会是undefined (mengikut dokumentasi)
onClick
handleEvent
undefined
Jadi, apa yang anda perlukanbind一下, 那么里面的this ialah komponen semasa.
bind
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... }
Sebab dalam
class
中声明函数,并不会自动绑定this
objekJadi, apabila anda
onClick={this.handleEvent}
, pecahkannya kepada dua langkah dan anda akan faham:Jadi,
onClick
调用的时候,handleEvent
中的this
会是undefined
(mengikut dokumentasi)Jadi, apa yang anda perlukan
bind
一下, 那么里面的this
ialah komponen semasa.Terdapat juga cara mudah untuk menulisnya, iaitu mengisytiharkannya dengan fungsi anak panah:
Kerana this.setState...
dalam handleEvent tidak terikat dengan ini
Anda boleh menggunakan gula sintaksis fungsi anak panah untuk mengikat ini