// @flow import * as React from "react"; export default function useStickyState( defaultValue: ?T, key: string ): [?T, (T) => void] { const [value, setValue] = React.useState(() => { const stickyValue = window.localStorage.getItem(key); return stickyValue !== null ? JSON.parse(stickyValue) : defaultValue; }); React.useEffect(() => { window.localStorage.setItem(key, JSON.stringify(value)); }, [key, value]); return [value, setValue]; }