ちょっとしたフォームを考えてみる。大項目A中項目B小項目Cがある。項目リストはRESTで取得する。
Aが選択されたときBのdisabledが外れoptionがセットされる。BとCの関係性も同様。Bが変更されたとき、Cのselectedはキャンセルされ、optionは再度セットさせる。ではCが選択された後にAを変更するとどうなるか。BとCのoptionが再セットされCはdisabledになる。A~Cは他の項目にも影響を与える。今後Cの下に項目Dが追加されるかもしれない。
見た目は簡単なフォームだが既に面倒くさい。こんなのグローバルな状態を使って管理したくない。俺はReact(Preact)を使って楽をする。