Sto provando a convertire le mie classi React in ES6, ma sto avendo qualche difficoltà all'interno di questo processo .. Mi piacerebbe avere i miei binding nel costruttore, non nel vista di rendering.React bind nel costruttore, come passare i parametri agli oggetti di scena
Ora, se ho un modulo principale con un setState che necessita di un parametro, ad esempio:
constructor() {
super();
this.state = {
mood: ""
};
this.updateMood(value) = this.updateMood.bind(this,value);
}
updateMood(value) {
this.setState({mood: value});
}
Poi passaggio questa funzione per un componente:
<customElement updateMood={this.updateMood}></customElement>
Poi all'interno del modulo customElement , ho qualcosa di simile:
constructor() {
super();
}
update(e) {
this.props.updateMood(e.target.value);
}
e nel rendere:
<input onChange={this.update} />
È questo il modo corretto? Dal momento che non riesco a farlo funzionare ;-(
Basta rimuovere 'this.updateMood (value) = this.updateMood.bind (this, value);' e cambia ' customElement> ' Avviso legalo mentre fornisci oggetti di scena. –
Vishwanath
* "È il modo corretto?" * Se non funziona, probabilmente no: P Tutto ciò che serve è 'this.updateMood = this.updateMood.bind (this);'. Dovresti leggere la documentazione su '.bind' e sulle funzioni in generale per capire meglio come funzionano. Questo non ha nulla a che fare con React o ES6 btw. –