Useful React and Preact hooks

Up: React, Preact

Local storage

function useLocalStorage(key: string, init: T): Signal {
  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: Preact, React.