だから私は状態を設定することが反応することを知っているが、非同期およびすべてであり、我々はこのような状態を設定します。`this.setState`を取り消すにはどうしたらいいですか?
this.setState(previousState => {
return { /* some new state that uses `previousState` */ }
});
だから私の質問は次のとおりです。私はthis.setState
をキャンセルできますか?previousState
を使用して、更新をレンダリングする必要がないと判断したとします。 setState
を取り消し、何も再レンダリングしないように指示します。
this.setState(previousState => {
if (/* previousState is fine */) {
// tell react not to do anything
} else {
return { /* some new state */ }
}
});
はどのようにあなたが別のアップデートを必要としないことを決定するであろうか?状態が変更されていないかどうかは分かりますか? – Chris
最初に 'this.setState()'を呼び出すのはなぜですか? 'this.state'をチェックし、' this.setState() 'を呼び出さないようにするだけでよいのです。 –
shouldComponentUpdateライフサイクルが必要なものです。可能な複製のhttps://stackoverflow.com/questions/44521391/reactjs-stop-rerendering-on-a-particular-state-change-with-shouldcomponentupdat/44522755#44522755 –