useTransformRef.d.ts 655 B

123456789101112131415
  1. import { ReactRef, RefObject } from './types';
  2. /**
  3. * Create a _lense_ on Ref, making it possible to transform ref value
  4. * @param {ReactRef} ref
  5. * @param {Function} transformer. 👉 Ref would be __NOT updated__ on `transformer` update.
  6. * @returns {RefObject}
  7. *
  8. * @see https://github.com/theKashey/use-callback-ref#usetransformref-to-replace-reactuseimperativehandle
  9. * @example
  10. *
  11. * const ResizableWithRef = forwardRef((props, ref) =>
  12. * <Resizable {...props} ref={useTransformRef(ref, i => i ? i.resizable : null)}/>
  13. * );
  14. */
  15. export declare function useTransformRef<T, K>(ref: ReactRef<K>, transformer: (original: T | null) => K): RefObject<T>;