Open 168iroha opened 4 months ago
State.value
経由でProxyを用いて与える方法が最も安直かつ(使い方さえ限定すれば)使いやすい
StateContext.lock
やStateContext.unlock
を駆使すれば、単一操作における変更の通知を1回に固定することが可能あらゆるケースを考えると一般のプロパティの変更検知とその運用(単一操作の検知だけに限定すればできる)は困難なため、強制的に状態変数を変更したことにするメソッドを設けた方がいい気がする。
以下はイメージ
const state = useState(ctx, { a: 1, b: 2 });
// 以下の操作では変更の通知が実行されない
++state.value.a;
++state.value.b;
// 以下の操作により変更の通知が実行される
// 上記の2操作がstateを変更する一連のステップ
state.update();
ただ、現状はまだ必要に駆られていないため、実装は保留する(絶対に必要なシチュエーションが思いついていない)。
背景
要件整理