React Dojo

Search

Search concepts, exercises and quizzes

state

usePrevious

Returns the value from the previous render. Useful for comparing old and new state or detecting direction of change.


usePrevious.ts
import { useRef, useEffect } from "react"

export function usePrevious<T>(value: T): T | undefined {
  const ref = useRef<T | undefined>(undefined)

  useEffect(() => {
    ref.current = value
  })

  return ref.current
}
Was this helpful?
Sign in to give feedback