UNPKG

usehooks-ts

Version:

React hook library, ready to use, written in Typescript.

31 lines 1.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = require("react"); var useEventListener_1 = require("../useEventListener"); function useReadLocalStorage(key) { var readValue = function () { if (typeof window === 'undefined') { return null; } try { var item = window.localStorage.getItem(key); return item ? JSON.parse(item) : null; } catch (error) { console.warn("Error reading localStorage key \u201C".concat(key, "\u201D:"), error); return null; } }; var _a = (0, react_1.useState)(readValue), storedValue = _a[0], setStoredValue = _a[1]; (0, react_1.useEffect)(function () { setStoredValue(readValue()); }, []); var handleStorageChange = function () { setStoredValue(readValue()); }; (0, useEventListener_1.useEventListener)('storage', handleStorageChange); (0, useEventListener_1.useEventListener)('local-storage', handleStorageChange); return storedValue; } exports.default = useReadLocalStorage; //# sourceMappingURL=useReadLocalStorage.js.map