usePrevious.jsx 510 B

12345678910111213141516171819
  1. import { useEffect, useRef } from "react";
  2. const usePrevious = (value) => {
  3. // The ref object is a generic container whose current property is mutable ...
  4. // ... and can hold any value, similar to an instance property on a class
  5. const ref = useRef();
  6. // Store current value in ref
  7. useEffect(() => {
  8. ref.current = value;
  9. }, [value]); // Only re-run if value changes
  10. // Return previous value (happens before update in useEffect above)
  11. return ref.current;
  12. };
  13. export default usePrevious;