useSessionStorage
The useSessionStorage
hook allows you to manage a sessionStorage
value as a React state value. Setting the value will also write it to sessionStorage
. Upon a reload, if the key
exists in sessionStorage
, the value will be loaded and used as the initial state, instead of initialState
.
tip
If you'd like to configure how the value is serialized and deserialized, you can use makeStorageHook to build your own hook.
Parameters
key
(string): A unique key to set and access the value with.initialState
(any): Initial state value.
Returns
An array containing:
- The state value.
- The state setter function (which will also set the value in
sessionStorage
). - A function to remove the value from
sessionStorage
. This does not change the value held in state.
Usage
import { useSessionStorage } from '@atomicjolt/hooks';
function Component() {
const [value, setValue, removeValue] = useSessionStorage('myKey', 'defaultValue');
return (
<div>
<p>{value}</p>
<button onClick={() => setValue('newValue')}>Set Value</button>
<button onClick={removeValue}>Remove Value</button>
</div>
);
}