You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 lines
321 B
16 lines
321 B
import { useRef, useEffect } from 'react'; |
|
|
|
/** |
|
* Returns the previous state of the passed in value. |
|
* On first render, undefined is returned. |
|
*/ |
|
|
|
export function usePrevious<T>(value: T): T | undefined { |
|
const ref = useRef<T>(); |
|
|
|
useEffect(() => { |
|
ref.current = value; |
|
}, [value]); |
|
|
|
return ref.current; |
|
}
|
|
|