背景
業務で今まで触れたことのなかったReduxというアーキテクチャに触れることが多く、最初より慣れてきた気がするので忘れないように、より定着できるようにメモがてら書いておきます。
割と断捨離して大枠を記憶するイメージで記します。
文章の説明はたくさん上がっているので、それらをざっくりまとめて一枚絵で覚えたかった次第。
内容
やること
- ReduxとRxSwiftを使っている場合のデータの動きを絵で記す
やらないこと
- Redux、Rxのそれぞれ構造の詳しいお話
設計の説明を細かくしないのでRedux
の理解はこちらなどで。
参考:
構造イメージ
詳しいことは上記等で。
使用されるアイテム
- Redux
- ReSwift
- RxSwift
特徴
- データの動きは一方向
- イベントに値する
Action
が、dispatch
に乗せられてstate
に届けるイメージ - 通信系処理などは
ActionCreator
に積まれることが多い -
ActionCreator
とMiddleware
に処理を積むことで拡張性が上がる - 処理全体に
RxSwift
を使用することによって、データが単一方向へ流れることと統一性が出る
使用上のポイント
- API処理などは
ActionCreator
内で作成 - RxSwiftを使用することで通信の並列・直列処理がしやすい(
.zip
等でYこんな感じでフローをまとめたり) -
Middleware
はaction
とReducer
の間に挟む処理なので、logを書き出してあげたり、別のactionを読んであげたりと、一連の処理の間に拡張をもたせたい時に使用できる。