- React hooksとは何なのか
- React hooksの使い方を学習したい
- React hooksの学習教材を知りたい
本記事は上記の方に向けて、執筆しています。
2021年5月18日執筆
本記事は常に最新の情報を掲載しております。
本記事の概要
本記事は私のようにこれからReactを始める方対象に執筆しています。
私がよく躓いたポイントなどを重点的に解説していきますので、react初心者の方でも安心してご覧ください

React hooksとは

React hooksとは、Reactのクラスコンポーネントでしか使えなかったstateやライフサイクルを関数コンポーネントでも使用できるようにしたものです。
React hooksが導入されるまではクラスコンポーネントを活用していた
以前までは、React hooksがなかったので、クラスコンポーネントを活用して、状態管理などを行なっていました。
実際に上記の動画のような機能を作るときのReact hooksとクラスコンポーネントの違いを見てみましょう。
クラスコンポーネント
import React from 'react';
class App extends React.Component {
constructor(props){
super(props)
this.state = {
count: 0
}
}
render(){
return(
<React.Fragment>
<h1>React hooksとクラスコンポーネントの違い</h1>
<h2>{this.state.count}</h2>
<button onClick={() => this.setState({count: this.state.count + 1})}>ボタン</button>
</React.Fragment>
)
}
}
export default App;
一方の関数コンポーネントは下記の通りです。
import React, {useState} from 'react';
function App(){
const [count, setCount] = useState(0);
return(
<React.Fragment>
<h1>React hooksとクラスコンポーネントの違い</h1>
<h2>{count}</h2>
<button onClick={()=> setCount(count + 1)}>ボタン</button>
</React.Fragment>
)
}
export default App;
こんなにも、React hooksとクラスコンポーネントでは記述量が異なります。
React公式サイトもReact hooksを推奨しているので、これからの学習者はReact hooksを中心に学んでいくべきです。
もちろん、クラスコンポーネントの理解も必要ですが、最初は不要だと思います。*後で覚えればよし
React hooksで記述するメリット
- 複雑なクラスコンポーネントを格段に減らせる
- propsバケツリレーを対策できる
- コンポーネント間でstateが共有しやすい
- ライフサイクルメソッドの分だけ学習コストが下がる
今はわからなくても、徐々にReact hooksのメリットを実感するはずです。
【入門】React hooksで使われる基本フック一覧

React hooksで使われているフックをまとめると下記の通りです。
- usestate
- useeffect
- usecontext
- usereducer
- usecallback
- usememo
- useref
ここからは、React hooksを実際に手を動かしながら学習してみましょう。
React hooksファイルを作成しよう
当サイトではReactフォルダの中でファイルを作成していきます。
まずは下記のコマンドでフォルダを作成します。作成後はReactフォルダに移動しましょう。
- mkdir React
- cd React
Reactフォルダ内で【react_hooks】のReact作業フォルダを作成しましょう。
- npx create-react-app react_hooks
- cd react_hooks
- npm start
これでReact hooksを学ぶ土台は完了です。
当サイトで、React hooksについて学ぶときはこの作業フォルダを活用するので、削除しないようにしておきましょう。
React hooks1つ目「useState」
React hooksひとつ目は『useState』です。
- 関数コンポーネントでstateが使える
- 状態を管理できるようになる
- 数値、真偽値、文字列扱える
import React, {useState} from 'react';
function App(){
const [count, setCount] = useState(0);
return(
<React.Fragment>
<h1>React hooksとクラスコンポーネントの違い</h1>
<h2>{count}</h2>
<button onClick={()=> setCount(count + 1)}>ボタン</button>
</React.Fragment>
)
}
export default App;
React hooksでuseStateを扱う場合にやるべきことは下記の通りです。
- useStateをインポートする
- 状態変数、状態変数を変化させる関数を準備
たったこれだけで、React hooksの一種類を扱うことができます。
今回紹介しているコードは数値ですが、下記の記事では真偽値、文字列など、useStateの使用ケースをたくさん公開しています。
useStateを深く学びたい方は下記の記事を参考にしてください。

React hooks2つ目「useEffect」
React hooksふたつ目は『useEffect』です。
useEffectとは、React Componentの時に使用していたマウント→アップデイティング→アンマウンティングの処理をひとまとめにしたものです。
useEffectを扱うためには『ライフサイクル』という前提知識が必要です。

useEffect(() => {
console.log("click")
},);
useEffectは上記のような書き方をしていきます。
- マウント時:console.logが読まれる
- アップデート時:console.logが読まれる
- アンマウント時:console.logが読まれる
ここを理解できないと、firebaseとの連携が上手くできませんので、必ず理解できるようにしましょう。

フック3:usecontext
現在準備中です
フック4:usereducer
現在準備中です
フック5:usecallback
現在準備中です
フック6:usememo
現在準備中です
フック7:useref
現在準備中です。
React hooksを本気で学習したい方向け

React hooksを本気で学習したい方は下記の3つの方法をおすすめしています。
- 当サイト
- 書籍
- 動画教材

当サイトではReactに関する知識を沢山公開していますで、無料で学習したい方はぜひ活用してみてください
React hooksが学べる書籍
唯一、React hooksについて学べるKindleの本でありました。
- Kindle価格:500円
- Kindle Unlimitedユーザー:無料
私はこの本をKindle Unlimitedの30日間無料期間中に無料で購入しました



今は、無料期間が終わり、Kindle Unlimited月額料金980円を支払っています。
裏技無料でReact系の技術書を読む方法
- Kindle Unlimitedの30日間の無料期間を活用して、無料の技術書を沢山読む。
- 30日が経つ前にKindle Unlimitedを解約する
この方法を使えば、Reactの技術書を無料で沢山読むことができるので、かなりおすすめの方法です。



無料期間が終了しても月額1000円程度なので、本で技術を学ぶ方はそのまま契約してても良いかもです。
Kindle Unlimitedに登録する
無料期間30日間
登録は簡単
React系の技術書が沢山読める
React hooksが学べる動画教材
React hooksが学べるUdemyの動画教材は下記の2つがおすすめです。
- Firebase + React Hooks(TypeScript)によるWebアプリ開発
- React Hooks 入門 - HooksとReduxを組み合わせて最新のフロントエンド状態管理手法を習得
どちらか一本でも満足できる内容になっています。



個人的にはfirebaseが扱える動画教材をおすすめします。
まとめ:React hooks入門|徹底的に使い方をまとめました


ここまで『【入門編】React hooksとは|基礎知識を徹底解説【書籍付き】』の解説をしてきました。
- React hooksを使えばクラスコンポーネントを削減できる
- React hooksには7つほど基本的な使い方がある
- React hooksを学びたいなら当サイトがおすすめです



本記事は以上です。最後までご覧下さりありがとうございました
読者におすすめの記事