blog.bouzuya.net

2016-05-25 Togetter で redux の combineReducers への不満をまとめた

redux には良い middleware が必須 をつくった。Togetter で @kuy / @bokuweb17 との redux についてのやりとりをまとめたもの。

redux では combineReducers で複数に分割した reducer を結合することができる。これで State を property 別の reducer に分割できる。……のだけど、State の property をまたぎたいことがままある。なのにそのために他の property を取得することはできない。これに不満を持ったのが最初のぼくの投稿。

combineReducers を使い、上記のような property をまたぎたいときは Action の payload に他の property の情報を設定する必要がある。これをどこで設定するかを考えたときの方法が Middleware と View のふたつ。View だと View 自身には不要な情報を持ちまわることになるので不適切。なので Middleware で getState() し他の property を得よう。

だいたいそんな話。上記の方法が最善とは限らないし、combineReducers を避けるのも手だと思う。