UNPKG

synapse-storage

Version:

Набор инструментов для управления состоянием и апи-запросами

25 lines (16 loc) 877 B
import { useMemo } from "react"; import { toObservable } from "../../reactive/effects/utils/toObservable.js"; import { useObservable } from "./useObservable.js"; function useStorageObservable(storage, selector) { const observable = useMemo(()=>selector ? toObservable(storage, selector) : toObservable(storage), // selector намеренно не в deps: пересоздавать поток на каждую новую ссылку // селектора не нужно (он редко стабилен), переподписка идёт только по storage. [ storage ]); const initial = useMemo(()=>selector ? selector(storage.getStateSync()) : storage.getStateSync(), [ storage ]); return useObservable(observable, initial); } export { useStorageObservable }; //# sourceMappingURL=useStorageObservable.js.map