ここでは↓こういうのを作る。
めんどくさい人向け
GitHubに上げました。
napoporitataso/react-redux-hooks-example-20200517
以下は手動で作成して動かす方法。
必要なものインストール
ここでは react-redux-hooks-example-20200517
ディレクトリ以下でやる。
必要なものをインストール。
Webpack設定
プロジェクト直下に webpack.config.js
を作成する。Babel と webpack-dev-server の設定だけ。
ソースコード (周辺)
ざっと以下ファイルを用意する。本題にあまり関係無いけど必要。
ソースコード (コンポーネント)
本題。以下の3つのコンポーネントは同じように動作する。
クラスコンポーネント
普通のクラスコンポーネント + mapStateToProps()
+ mapDispatchToProps()
。
関数コンポーネント
単純にクラスコンポーネントを関数コンポーネントの書き方に変えただけ。引数で props
を受け取る。
関数コンポーネント + Hooks
関数コンポーネントではHooksを使ってすっきり書ける。
useSelector()
と useDispatch()
は関数内にしか書けない。また、ここではSelectorの書き方はHooksを使わない場合の mapStateToProps()
に寄せてみた。
動かしてみる
プロジェクト直下で以下コマンド。
以上。