UNPKG

use-latest-callback

Version:

React hook which returns the latest callback without changing the reference

22 lines (21 loc) 669 B
"use strict"; var React = require("react"); /** * React hook which returns the latest callback without changing the reference. */ // eslint-disable-next-line @typescript-eslint/ban-types function useLatestCallback(callback) { var ref = React.useRef(callback); var latestCallback = React.useRef(function latestCallback() { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return ref.current.apply(this, args); }).current; React.useInsertionEffect(function () { ref.current = callback; }); return latestCallback; } module.exports = useLatestCallback;