useRefFunc.js 384 B

1234567891011121314
  1. import * as React from 'react';
  2. /**
  3. * Same as `React.useCallback` but always return a memoized function
  4. * but redirect to real function.
  5. */
  6. export default function useRefFunc(callback) {
  7. var funcRef = React.useRef();
  8. funcRef.current = callback;
  9. var cacheFn = React.useCallback(function () {
  10. return funcRef.current.apply(funcRef, arguments);
  11. }, []);
  12. return cacheFn;
  13. }