Open1
パネル開閉状態とか諸々をsessionStorageで管理したい

上記参考に、管理部分だけを抜粋。
import { useEffect, useState } from 'react';
type SessionStorageKeyType =
| 'hogePage-hogeTools'
| 'fugaPage-fugaTools';
export const useSessionStorage = <T>(key: SessionStorageKeyType, initialValue: T): [T, (value: T) => void] => {
const [value, setValue] = useState(() => {
const keyValue = sessionStorage.getItem(key);
return keyValue ? (JSON.parse(keyValue) as T) : initialValue;
});
useEffect(() => {
sessionStorage.setItem(key, JSON.stringify(value));
}, [key, value]);
return [value, setValue];
};
export default useSessionStorage;