LoginSignup
4
1

More than 5 years have passed since last update.

jsのProxyを利用した状態管理ツールを試してみた

Last updated at Posted at 2018-02-20

目的

flux使わずに、 楽に状態管理がしたい!
ES2015のProxyを使ったツールで、そろそろ良さそうな出ているのでは・・!

と思って4日ほど調べてみました。

調査結果

https://github.com/franciscop/state
property単位の監視が簡単 書いてて楽しい
だけど、observeが解除できなくて、componentのunmount時に困った

https://github.com/sindresorhus/on-change
ソースコードが非常に短いので、覚えることが最も少なく、楽に書ける
だけど、callback設定が初回1回しかできなくて、component間での共有に困った

https://github.com/dobjs/dob
これも直感的に書けて楽、observeの解除もあるし。
observable object以下のarray/objectが自動的にproxyになるので、その扱いに戸惑ったけど、そういうものらしい。
Actionという定義を使うと、複数propertyの変更があっても、triggerは1回になる。
後述するobserver-utilを改良したもの、っぽい。

https://github.com/mweststrate/immer
説明長いしfluxっぽくて面倒そう

https://github.com/nx-js/observer-util
基本的にはdobと同じ、構文が微妙に違ったり、機能差分がある。

調査を終えて

自分はriotユーザー(hyperHTMLへの移行は検討中)なため、覚えるコストが低く、乗り換えやすいものを探していました。
ただ実際に使ってみると、困る点が出てくるもので、正直はまってしまった感があります。
reactユーザーだと、それ専用のmoduleが用意されていたりするので、もう少し苦労しなかったかも。

また何年かすると、より良いものが出ているんだろうなと思います。
その時に機会があれば、また書きます。

そんな感じでしたー

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