ITエンジニア日記 ~NO SKILL, NO LIFE~

学んだ技術や、気になることをアウトプットしていきます。プログラミング, インフラ, etc...

【React】なぜReduxを使うのか

Reactでよく一緒に使われるらしい「Resux」というフレームワークについて、今日勉強してきたころをまとめます。

1. Reduxとは

stateを管理するフレームワークのこと。
React以外にも、Angularなど他のJavaScriptライブラリとも一緒に使うことができるらしいです。

2. React + Redux の利点

Reactはコンポーネント間でデータを受け渡しをするときに、Propsを介して受け渡します。
Reactの特徴に「Data Flow」といって、データを単方向にデータバインディングするというものがあります。

例えば、コンポーネントGを表示するのに、コンポーネントAが持っているデータが必要な場合、下図のように間のコンポーネントBとEを通ってデータを渡していかないといけません。

f:id:masakiXX0:20191221224052p:plain
ReactのData Flow

このように、コンポーネントのネストが深くなったり横に広がるほど、データの受け渡し回数が増えて大変です。

そこで、Redux を使うとすべてのデータを Store というもので1箇所で管理できるようになります。

先ほどの例だと、どのコンポーネントも必要なデータはStoreから必要なデータを受け渡しできるようになり、素のReactのように欲しいデータをどのコンポーネントから流してこないといけのかを考えなくてよくなります。

f:id:masakiXX0:20191221224737p:plain
ReduxのStore

3. まとめ

とりあえず、今日理解したReduxを使うと何がいいのかまで書いてみました。
これから詳細なところまで手を動かしながら勉強していこうと思います。