https://qiita.com/ShinKano/items/0a3d7b4c040fc7073bd8
とにかくコンポーネントをリセットしたい!マウントからやり直したい! という時に使えるテクニックを紹介します。
初期化したいコンポーネントのprops
にkey
を設定し、keyを更新します。
const Component = () => {
return (
<div key={something}>
...
</div>
)
}
コンポーネントにはライフサイクルがあります。
Reactコンポーネントはとても賢いので、うまく差分を計算してコンポーネントは不要な再描画が走らないようにしています。
そのため、マウント後の更新に関しては基本的にUpdateが適用されます。
一方でkey
はコンポーネントの一意性を保つための仕組みですので、key
が更新されるという事は、まるっきり新しいコンポーネント扱いになります。
そのため、Updateではなく、Mountから新規で描画できる、というわけです。
Why not register and get more from Qiita?