Ho un array in stato, diciamo this.state.arr. Desidero aggiungere qualcosa a questa proprietà di stato e quindi modificare alcune altre proprietà.React.js - Qual è il modo migliore per aggiungere un valore a un array nello stato
Opzione 1
onChange(event){
this.state.arr.push('newvalue');
...
this.setState({some:'val',arr:this.state.arr})
}
Opzione 2
onChange(event){
var newArr = this.state.arr;
...
newArr.push('newvalue');
...
this.setState({some:'val',arr:newArr})
}
Quindi .. So this.state si suppone di essere trattati immutabile. Ma va bene usarlo come nell'opzione 1, dove ancora lo stato, oppure devo andare con qualcosa come l'opzione 2, e quindi sempre prima di fare una copia in memoria
vedono questo http://stackoverflow.com/questions/26253351/correct-modification-of-state-arrays-in-reactjs#comment41184522_26253351 e questo http://stackoverflow.com/questions/23966438/what -è-il-preferito-modo-a-mutato-a-reagisce-stato – nilgun
Una terza opzione potrebbe essere la migliore: utilizzare l'helper dell'immutabilità fornito da React: https://facebook.github.io/react/docs/update. html – rebe100x