react-atomic-state
Version:
Dead simple React global state management based on use-sync-external-store
10 lines (9 loc) • 609 B
TypeScript
export type Atom<Value> = {
get: () => Value;
set: (value: Value | ((prevValue: Value) => Value)) => void;
subscribe: (callback: (value: Value) => void) => () => void;
reset: () => void;
};
export declare function atom<Value>(initialValue: Value): Atom<Value>;
export declare function useAtom<Value>(atom: Atom<Value>, isEqual?: (prevValue: Value, nextValue: Value) => boolean): Value;
export declare function useAtomWithSelector<Value, Selection>(atom: Atom<Value>, selector: (value: Value) => Selection, isEqual?: (prevSelection: Selection, nextSelection: Selection) => boolean): Selection;