よくよく考えれば状態管理とはなんなんだろう

よくよく考えれば状態管理とはなんなんだろうとフロントエンドの人が考えている。

  • どのデータを、いつ、どこから、どのように取得できるか?
  • どのデータを、いつ、どこから、どのように更新できるか?

こういったデータに対して何をできるか定義(また、書かないことで拒否することを定義)して、データの変化の経路や、取得の経路を辿れること。 変化と取得の因果関係を人が理解できる記述で定義することで、辿れること。 データの変化や経路が増えることで複雑になっても、辿れること。 因果関係を辿ることをより簡単にする。それがFlux的な定義に沿っていくことだったりする。

定義がより厳密になればより経路がはっきり見えて安全になるけど鈍重になるし、甘くすれば危険は増えるけど身軽になる。 定義がより厳密になるなら、それはより管理されているアプリケーションということになりそう。 管理、といっても定量的捉えらえる言葉。

となると、どこまで管理するかも、また管理せにゃならん。