私はsetStateの周りを頭で囲んでいます。私は、メソッドが非同期であり、上書きされた状態の変更を防ぐので、setStateに関数を渡すことをお勧めします。したがって、ほとんどの場合、これは動作します。setState関数と複雑なオブジェクトに反応する
this.setState(() => ({title}))
複雑なオブジェクトがある場合はどうなりますか。 私の状態は次のようである:
{
movie: { name : 'one', length: 35},
showLength: false
}
私はので、私は
this.setState((prevState) => ({showLength : !prevState.showLength}))
しかし、私の場合は容易である偽/ trueにブール値を変更したいボタンのクリックに基づいて長さを表示させたいです映画の名前を編集したいですか?私はそれをsetStateに渡す前に状態全体をクローンする必要がありますか、より簡単な方法です。私は、これが原因で動作します(ただし、私の意図を示して)いません意味:
this.setState((prevState) => ({movie.title:'new title'}))
。ネストされたオブジェクトと呼ばれます。また、それを動作させるために、 "変形オブジェクト - 残りの広がり"をバーベルに追加しなければなりませんでした! – Todilo