Signal-first API
Create reactive values with `signal()` and update via `.set(...)`.
Lightweight reactive primitives that rebuild only what matters.
Why Oref
Reads track dependencies, writes notify subscribers. Nothing hidden.
Signals live with widgets. Use SignalBuilder to scope rebuilds.
Signals, computed values, effects, and batching compose cleanly.
flutter pub add oreffinal count = signal(context, 0);final doubled = computed(context, (_) => count() * 2);
count.set(count() + 1);Check the guides for patterns like async data, batching, and collections.
Keep input state and validation derived from signals.
Use computed values to derive filtered views from large lists.
Handle loading and errors with useAsyncData().
Ready to dive in? Start with Getting Started.