transformRef.js 431 B

1234567891011121314
  1. import { assignRef } from './assignRef';
  2. import { createCallbackRef } from './createRef';
  3. /**
  4. * Transforms one ref to another
  5. * @example
  6. * ```tsx
  7. * const ResizableWithRef = forwardRef((props, ref) =>
  8. * <Resizable {...props} ref={transformRef(ref, i => i ? i.resizable : null)}/>
  9. * );
  10. * ```
  11. */
  12. export function transformRef(ref, transformer) {
  13. return createCallbackRef((value) => assignRef(ref, transformer(value)));
  14. }