import { useEffect, useRef } from "react"
/**
* usePrevious Hook
*
* Got from https://usehooks.com/usePrevious/
* It saves the previous value of props or state
*
* @param {*} value - The value to save
*
* @example
* const [state, setState] = React.useState()
* const prev = usePrevious(state)
*/
export function usePrevious(value) {
// The ref object is a generic container whose current property is mutable ...
// ... and can hold any value, similar to an instance property on a class
const ref = useRef()
// Store current value in ref
useEffect(() => {
ref.current = value
}, [value]) // Only re-run if value changes
// Return previous value (happens before update in useEffect above)
return ref.current
}
|