UNPKG

@tanstack/react-persister

Version:

Utilities for persisting state to local storage, session storage, indexedDB, and more.

33 lines (32 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const react = require("react"); const useStoragePersister = require("./useStoragePersister.cjs"); function useStorageState(initialValue, options) { const persister = useStoragePersister.useStoragePersister(options); const [state, setState] = react.useState(initialValue); react.useEffect(() => { setState(persister.loadState() ?? initialValue); }, []); react.useEffect(() => { persister.saveState(state); }, [state]); return [state, setState]; } function useLocalStorageState(key, initialValue, options) { return useStorageState(initialValue, { ...options, key, storage: typeof window !== "undefined" ? localStorage : null }); } function useSessionStorageState(key, initialValue, options) { return useStorageState(initialValue, { ...options, key, storage: typeof window !== "undefined" ? sessionStorage : null }); } exports.useLocalStorageState = useLocalStorageState; exports.useSessionStorageState = useSessionStorageState; //# sourceMappingURL=useStorageState.cjs.map