Reactのkey propはリスト以外でも使える
リストをレンダリングするときだけのものだと思ってた。
日々の作業で出てきた技術メモの切れ端を置いておくページ
リストをレンダリングするときだけのものだと思ってた。
Reactでリストをレンダリングしようとした時key propを設定しないとWarningが表示されたり、正しくレンダリングされなかったりするので、key propsはリストを扱うときに使うもの、というイメージでいましたが実はリスト意外のシチュエーションでも使うことができるという話。
なんとなく上記のドキュメントを読んでいたら出てきて「なるほど」となったのですが、
上記のような、「propsが変化したら内部ステートをリセットする」というような処理を
このように置き換えることができるとのこと。(コードはいずれも前述ドキュメントからの引用)
こうすることで余計なエフェクトを持たないコンポーネントにできるという話でした。
確かに言われてみたら、できて当然のような感じなんですが少なくとも僕は気づいていなかったのでメモ。
まだ知らないことたくさんあるなと思わされてしまった。