# `useLocalStorage`
React side-effect hook that manages a single `localStorage` key.
## Usage
```jsx
import { useLocalStorage } from 'react-use';
const Demo = () => {
const [value, setValue, remove] = useLocalStorage('my-key', 'foo');
return (
Value: {value}
);
};
```
## Reference
```js
useLocalStorage(key);
useLocalStorage(key, initialValue);
useLocalStorage(key, initialValue, { raw: true });
useLocalStorage(key, initialValue, {
raw: false,
serializer: (value: T) => string,
deserializer: (value: string) => T,
});
```
- `key` — `localStorage` key to manage.
- `initialValue` — initial value to set, if value in `localStorage` is empty.
- `raw` — boolean, if set to `true`, hook will not attempt to JSON serialize stored values.
- `serializer` — custom serializer (defaults to `JSON.stringify`)
- `deserializer` — custom deserializer (defaults to `JSON.parse`)