@react-hook/latest

A React hook that updates useRef().current with the most recent value each invocation

Usage no npm install needed!

<script type="module">
  import reactHookLatest from 'https://cdn.skypack.dev/@react-hook/latest';
</script>

README


useLatest()

Bundlephobia Types Build status NPM Version MIT License

npm i @react-hook/latest

A React hook that updates useRef().current with the most recent value each invocation

Quick Start

import useLatest from '@react-hook/latest'

const useEvent = (element, name, listener) => {
  const latest = useLatest(listener)

  React.useEffect(() => {
    const listen = (e) => latest.current(e)
    element.addEventListener(name, listen)
    return () => element.removeEventListener(name, listen)
  }, [latest])
}

API

useLatest(value)

const useLatest: <T extends any>(current: T) => React.MutableRefObject<T>

Props

Prop Type Required? Description
value T extends any Yes Any value you want stored

Returns React.MutableRefObject<T>

LICENSE

MIT