React side-effect hook that manages a single localStorage key.
import { useLocalStorage } from 'react-use';
const Demo = () => {
const [value, setValue, remove] = useLocalStorage('my-key', 'foo');
return (
<div>
<div>Value: {value}</div>
<button onClick={() => setValue('bar')}>bar</button>
<button onClick={() => setValue('baz')}>baz</button>
<button onClick={() => remove()}>Remove</button>
</div>
);
};useLocalStorage(key);
useLocalStorage(key, initialValue);
useLocalStorage(key, initialValue, { raw: true });
useLocalStorage(key, initialValue, {
raw: false,
serializer: (value: T) => string,
deserializer: (value: string) => T,
});keyβlocalStoragekey to manage.initialValueβ initial value to set, if value inlocalStorageis empty.rawβ boolean, if set totrue, hook will not attempt to JSON serialize stored values.serializerβ custom serializer (defaults toJSON.stringify)deserializerβ custom deserializer (defaults toJSON.parse)