LoginSignup
7
3

More than 5 years have passed since last update.

まだreact-reduxで消耗してるの?(unstatedに移行した話)

Last updated at Posted at 2019-04-21

reduxやめた理由

  • とりあえずはトレンドにのる派くらいの理由でreduxを使っていたが、コード量やファイル数がやたら増えて嫌な感じだった
    • めんどくさくなって結局ほとんどをlocalなstateで管理していた
  • 対象案件が趣味の個人開発だったので、大規模開発ではなく、スピード重視で進めたかった

unstatedにした理由

  • なんとなく目に止まってスター数が多かったから(2019.4.22時点で6,000over)
    • スター数のわりに英語・日本語ともにまだ情報少なめな気もする。ただ、作りがシンプルなのでそこまでみんな困っていないのかも
    • エコシステム的にはまだまだこれから感はある
  • ※後悔はしていない

やったこと

  • 公式githubの説明を読む
  • reduxのactionsとかcontainersとかreducersとかを、unstatedでいうところのContainerにまとめる
    • reduxのcontainersmapStateToPropsとかmapDispatchToPropsしていた部分をunstatedのContainerに移植するイメージ
  • reduxのcomponentsを上記で作ったContainerSubscribeして動くように修正する
    • HOCでラップするイメージだけど、軽くぐぐった感じ使いまわせそうなのがなかったので、一旦はゴリゴリ書いてみた
    • renderにすべて書いている場合は楽だけど、あまりそういうケースも多くないので、結局のところこちらの記事で書かれている通り、既存のcomponent全体をSubscribeでラップする感じになると思う
  • componentのimport元をreduxのcontainersからunstatedで動くようにしたcomponentsに変更
  • コードとファイル数が減って(゚д゚)ウマー
    • 個人開発でredux使っている部分はあまり多くなかったので半日とかで移行できました

移行して思ったこと

  • 個人開発や小規模プロジェクトであればunstatedで十分
    • シンプルで学習コスト低め
  • 今後のエコシステム拡大に期待
    • unstated-debugなるものもあるけど、reduxだとchromeのpluginあったり、まだそこまでではない感がある
7
3
1

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