LoginSignup
3
4

More than 5 years have passed since last update.

Reduxの卒業式をしよう

Posted at

モチベーション

  • Reduxを使っていたが個人開発なのでコード量が増えてつらい
  • 使い慣れたアーキテクチャを使いたい
  • 自分好みの処理分割、ファイル分割をしたい
  • そもそもほかのライブラリ使うのにミドルウェアが必要なものってどうなのよ
  • 学習コストが高くて飛び入りでプロジェクトに入った人がつらい
  • 短期の開発で使いづらい
  • もっと他にいいライブラリ無いの?

React系の状態管理ライブラリ

それぞれの長所、短所などをまとめてみます。

Redux

メリット

  • 厳正に書きかたが決まっている(ガイドラインがある)
  • テストがしやすい
  • アーキテクチャがきれい(個人的にはコードは見やすいと思います)
  • デバッガなどのツールがそろっている

デメリット

  • 学習コストが高い
  • コードの記述量が多い
  • 影響範囲が広い
  • アーキテクチャが限定される
  • ミドルウェアが必要

mobX

メリット

  • Reduxに比べて記述量が少ない
  • 学習コストがReduxに比べて低い
  • @Computedなどの処理で値の操作が容易
  • StoreとActionがそろっているのでパッと見で構造がわかる(JavaのBeansっぽい構造)

デメリット

  • 自由度が高い
  • 中途半端にアーキテクチャに干渉する
  • デバッグがしづらい
  • あくまでReduxよりましというだけで、アーキテクチャに関しての知識は必要
  • ルーターと一緒に使うときに、連携させるためのコードを書かなきゃいけない

undux

メリット

  • よりReactっぽい書き方ができる
  • 学習コストなんてものはなかった
  • コードの記述量が最小限
  • Reduxのデバッグツールが使える
  • ほかのライブラリと組み合わせやすい
  • アーキテクチャへの影響がない
  • Rxjsによる値の監視ができる(mobXの@computedと同じようなことができる)

デメリット

  • 発展途上
  • 多機能ではない
  • レンダリングさせたい場合はこちらで監視しなければいけない(僕はむしろこっちのが好き)
  • 別でアーキテクチャ(ファイル構造や処理の切り分け)を考える必要がある

結局どうしたのか

僕はいろいろ見た結果unduxを使うことにしました。
やっぱりシンプルなのが一番使いやすかったです。
中身のソースもわかりやすくて、詰まった時とかに資料がなくて困ってもソース見ればわかったりします。

ほんとにチュートリアルするのに時間かからないのでソースだけでも一回見てみてください。

React + Unduxでみんなを幸せにする

unduxもっと流行れ。

3
4
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
3
4