時々、リセットしたい、概念的にステートフルな反応コンポーネントがあります。理想的な動作は、古いコンポーネントを削除して、新しい初期のコンポーネントを読み取ることと同じです。
ReactはsetState
、コンポーネント自身の明示的な状態を設定できるメソッドを提供しますが、ブラウザーのフォーカスやフォームの状態などの暗黙の状態を除外し、その子の状態も除外します。そのすべての間接的な状態をキャッチするのは難しい作業です。私は、驚くべき状態のすべての新しいビットでモグラを叩くよりも、厳密かつ完全にそれを解決することを好みます。
これを行うためのAPIまたはパターンはありますか?
編集: 私は実証簡単な例作られたthis.replaceState(this.getInitialState())
アプローチをし、それを対照的なthis.setState(this.getInitialState())
アプローチ:jsfiddle - replaceState
より堅牢です。