Files
notesnook/apps/web/src/utils/hooks.js
2020-03-02 19:36:02 +05:00

21 lines
430 B
JavaScript

import { useState } from "react";
export const usePersistentState = (key, def) => {
let value = window.localStorage.getItem(key) || def;
const defState = tryParse(value);
const [k, setKey] = useState(defState);
const _setKey = s => {
setKey(s);
window.localStorage.setItem(key, s);
};
return [k, _setKey];
};
function tryParse(val) {
try {
return JSON.parse(val);
} catch (e) {
return val;
}
}