IT未経験者でも分かりやすく学べる技術ブログ
ReactHooksこれだけでOK!
2025-01-11
Reactの登場によりWebフロントエンド開発が非常効率的なものになりました。
Reactのメリットや特徴はReactのはじめ方で解説しています。
React Hooks(フック)は、Reactで「データの変更」や「画面のライフサイクル」などを扱うための便利な道具です。
Reactはもともと「クラス」で定義するクラスコンポーネントでしか使えない機能がありました。
しかし、Hooksを使うことで関数ベースでもっと簡単に書けるようになりました。
Reactでの代表的なHooksを紹介します。
以下で紹介するHooksは紹介されているブログも多く、実務の現場でも見かけるHooksなので知っておくと開発業務において有利になります。
状態(state)の管理を行います。
例) カウンターや入力フォームの値をチェックする時などです。
useStateの使い方で紹介しているので参考にしてください。
画面が表示されたときや、あるデータが変わったときに「何かする」動きを追加します。
例) APIからデータを取得したり、タイマーを設定したりする処理です。
useEffectの使い方で紹介しているので参考にしてください。
コンポーネント間でデータを簡単に共有できるようにするためのHooksです。
例) ログインしているユーザー情報をアプリ全体で使いたいときに便利です。
useContextの使い方で紹介しているので参考にしてください。
複雑な状態管理を簡単に行えます。
例) 買い物リストアプリで「商品を追加」「削除」「更新」をまとめて管理したいときなど。
useReducerの使い方で紹介しているので参考にしてください。
計算結果を「覚えておく」ことで、同じ処理での再計算の手間を減らします。
例) 大きなデータを扱うアプリで、大規模な計算ロジックの必要な部分だけ再計算する場合。
useMemoの使い方で紹介しているので参考にしてください。
関数を「覚えておく」ことで、再作成を避けます。(useMemoは計算の結果、useCallbackは関数自体)
例) コンポーネントが再描画されても、特定の関数が毎回新しく作られないようにする。
useCallbackの使い方で紹介しているので参考にしてください。
コンポーネントの「直接操作」や「値の保存」に使います。
例) 入力フォームにフォーカスを当てたり、以前の値や初期値を覚えておきたいとき。
useRefの使い方で紹介しているので参考にしてください。
ここまでで、「ReactHooks概要」、「メジャーなHooks」について紹介しました。
この章ではじゃあ実際「どれを」「どのくらい」覚えておいたら「実際の業務」で対応できるかについてお話しします。
結論として、useStateとuseEffectだけ抑えておくとほぼ全てのサービスは実現可能と考えています。
Reactとは、画面上で発生する要素をいかに効率的かつ簡潔にコントロールできるかに特化した技術であると考えています。
その上で上記2つのHooksは最も簡単にReactの本質を再現したものだと考えています。
実際に他のHooksもuseStateやuseEffectの拡張のようなイメージになり、ほとんどのサービスにおいてuseStateおよびuseEffectで対応できました。
もちろん規模の大きさがかなりの大規模になると他のHooksを使ってもいいかもしれませんが、これからエンジニアとして開発現場に入る方にとってはuseState/useEffectをまずは使いこなすことを徹底すればいいと思います。
例外としてuseContextがありますが、基本propsのバケツリレーで対応できたり、システム全体の設計で無駄な受け渡しを防止するようアーキテクチャーレベルから考えていく領域になると思います。
この話はかなり発展的なので今後上級者編の記事で紹介します。
この記事を書いた人
Tさん
別業界から転職1年で
Webフルスタックとして活動中
これからエンジニアになりたい!
駆け出しエンジニアが最短で
成長できる方法を発信
関連記事
useMemoの使い方