#
State Management
Tesserae uses observables to create reactive user interfaces that update automatically when data changes.
#
Observables
An Observable<T> stores a single value and notifies listeners when it changes.
var name = new Observable<string>("John");
var tb = TextBlock().Bind(name, n => n);
name.Value = "Jane"; // TextBlock updates automatically
#
Observable Collections
Use ObservableList<T> or ObservableDictionary<T, K> for collections.
var items = new ObservableList<string>();
var list = DeferSync(items, i => VStack().Children(i.Select(TextBlock)));
#
Use Case: Filtering
Observables are perfect for implementing real-time filtering where the UI reacts immediately to user input without a page reload.