私は変異しないことに関するReactjsのdocumentを読んでいます。React.jsのデータを変異させる
handleClick() {
// This section is bad style and causes a bug
const words = this.state.words;
words.push('marklar');
this.setState({words: words});
}
と::
handleClick() {
this.setState(prevState => ({
words: prevState.words.concat(['marklar'])
}));
}
なぜ第二のコードがデータを変化させません 私は、文書の例のコードの2枚の違いを理解していませんか?
最初に、配列の参照に移動します。 2番目に、配列を 'concat'でコピーし、現在の状態を変更しません。 – Li357
' concat'が新しい配列を返します。 –