ez-observable
Version:
Make class fields reactive in React with a single decorator + hook
21 lines (20 loc) • 655 B
TypeScript
/**
* 🎯 Marks a class field as reactive. Whenever the field's setter
* is invoked, any React components consuming it through `useObserved`
* will re-render automatically.
*
* 👉 Only works on public instance accessors (not on static members).
*
* Usage:
* ```typescript
* class Counter {
* @observable accessor count: number = 0;
* }
*
* const c = new Counter();
* c.count = 5; // any hooked components will update
* ```
*/
export declare function observable<T extends object, V>(target: ClassAccessorDecoratorTarget<T, V>, context: ClassAccessorDecoratorContext<T, V> & {
static: false;
}): ClassAccessorDecoratorResult<T, V>;