Skip to content

Instantly share code, notes, and snippets.

@keabard
keabard / useSyncWithLocalStorage.tsx
Created September 16, 2025 09:14
useSyncWithLocalStorage
import { useSyncExternalStore } from 'react'
const STORAGE_EVENT_KEY = 'storage'
export const useSyncWithLocalStorage = <ValueObject extends object>(
key: string,
): {
value: ValueObject | string | null | undefined
setLocalStorageItem: (value: ValueObject | string) => void
removeLocalStorageItem: () => void