114
77

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Opt TechnologiesAdvent Calendar 2016

Day 9

Reduxのファイル構成は『Ducks』がオススメ

Posted at

問題

redux wayで書いていくと

|_ containers
|_ constants
|_ reducers
|_ actions

とかって大量の登場人物が登場してきてうざい。わかるけど複雑になります。

(ここでいうConstantsはActionの値などの定数の集まりを指します。)

Ducksという考え方

「そこでDucksですよ!」
https://medium.com/@scbarrus/the-ducks-file-structure-for-redux-d63c41b7035c

これを使うと、上記のややこしいのが、

|_ containers
|_ modules

となります。
どういうことかというと、modulesの中の1ファイルにReducer, Action Creator, Constants などをまとめて1ファイルで扱ってしまおう(そしてそれをmodulesとして管理しよう)という解決法になります。

なぜコレが嬉しいのか?

Reduxはfluxの実装として筋がよく、一気に普及しました。
そこで用いられているReducer, Action Creatorなどの登場人物は、役割としては別であるものの実際にはお互いにConstantsで紐付けられていて実質的に密結合です。それぞれ単体では存在しえません。
なので1ファイルで扱ってしまっても不都合はないのです。

ちなみにテストはどう書くかというと、上記の通り登場人物は変わらないため、Reduxの定石通りにReducer, Action Creatorの単位でテストを書くことができます。

まとめ

reduxは最初の取っ掛かりがわかりにくいですが、これを使うともっとシンプルに、管理しやすい設計ができます。
特にデメリットはないので導入することをオススメします。

114
77
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
114
77

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?