What problem does it solve?
Manage application state and derived computations consistently and efficiently across frameworks while avoiding manual subscriptions, unnecessary re-renders, and imperative mutation patterns. It provides a predictable, immutable API for state updates, computed values, and side effects so developers can reason about data flow and lifecycle across React, Vue, Solid, Angular, and Svelte.
Core Features & Use Cases
- Store: Lightweight immutable state container with get/set state, previous state access, and subscriber management for local and module-level singletons.
- Derived: Declarative computed values with dependency tracking, previous value support, chaining for filter → sort → paginate pipelines, and explicit mount/unmount lifecycle.
- Effect: Side-effect management with dependency-driven execution, eager option, and cleanup support for timers and external subscriptions.
- Batching & Performance: batch updates to coalesce notifications and React adapter features like selectors and shallow equality to minimize re-renders.
- Use Case: Build a client-side list that filters, sorts, paginates, and displays derived metrics with efficient React subscriptions and clean lifecycle handling.
Quick Start
Create a Store for your data, add a Derived computed value, call mount() on the Derived or an Effect, and use the useStore adapter in your framework to read selected values and update state.