Denis Defreyne

Useful React and Preact hooks

Up: React, Preact

Local storage

function useLocalStorage<T>(key: string, init: T): Signal<T> {
  let raw = localStorage.getItem(key);
  let val = raw ? JSON.parse(raw) : init;
  let signal = useSignal(val);

  useSignalEffect(() => {
    localStorage.setItem(
      key,
      JSON.stringify(signal.value)
    );
  });

  return signal;
}
Note last edited May 2025.
Incoming links: