reduxを導入することでcomponent間のpropsのバケツリレーが不要になり、global stateとして一元管理できるようになる

reduxはおおまかに分けると「store」、「actions」、「reducer」、「subscriber」という要素でできている

このイメージを頭に入れた上でそれぞれの要素をシンプルに作成してみる

まずは、storeの作成

reduxにより提供されるcreateStoreメソッドで作成する

しかし、この状態ではstoreは不完全である

storeとreducerは非常に関係の深い関係があり、storeのinitializeにはreducerが必要不可欠

 

reducerの作成

reducerは引数に古いstateとaction(のちに作成する)を受け、新しいstateを返すpureなfunctionである

 

 

このreducerをcreateStoreの引数にセットすることでstoreが完成する

↑storeのもつgetStateメソッドで最新のstateを取得できる

storeは文字通りglobal stateを保管する場所として機能し、各コンポーネントはstoreによりstateを共有することができるようになる(propsをバケツリレーしなくても済む)

 

次回はreducerの引数に渡されていたactionの作成