// Created on savesnippets.com · https://savesnippets.com/WlmcTlYk2gylnj import { useEffect, useRef } from 'react'; export function usePrevious(value: T): T | undefined { const ref = useRef(undefined); useEffect(() => { ref.current = value; }, [value]); return ref.current; } // Detect transitions: function Counter({ count }: { count: number }) { const prev = usePrevious(count); useEffect(() => { if (prev !== undefined && prev !== count) { console.log(`changed: ${prev} → ${count}`); } }, [count, prev]); return {count}; }