javascript - Composant liant ceci dans React
大家讲道理
大家讲道理 2017-06-28 09:26:21
0
2
746

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

Je n'arrive pas à comprendre la reliure de ceci ici

大家讲道理
大家讲道理

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

répondre à tous(2)
三叔

Parce que dans class中声明函数,并不会自动绑定thisobjet

Alors, quand vous l'êtes onClick={this.handleEvent}, décomposez-le en deux étapes et vous comprendrez :

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

Donc, onClick调用的时候,handleEvent中的this会是undefined (selon la documentation)

Donc, ce dont vous avez besoinbind一下, 那么里面的thisc'est le composant actuel.

Il existe également un moyen pratique de l'écrire, qui consiste à le déclarer avec une fonction flèche :

handleEvent = (e)=>{

}

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

Parce que this.setState...
dans handleEvent n'est pas lié à this

Vous pouvez utiliser le sucre syntaxique des fonctions fléchées pour lier ceci

handleEvent = () => {
    this.setState...
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal