@primer/react
Version:
An implementation of GitHub's Primer Design System using React
25 lines (22 loc) • 722 B
JavaScript
import { c } from 'react-compiler-runtime';
import { useImperativeHandle } from 'react';
/**
* Use a ref object as the imperative handle for a forwarded ref. This can be used to
* synchronize the ref object with the forwarded ref and allow local access the reference
* instance with `.current`.
*
* **NOTE**: The `refObject` should be passed to the underlying element, NOT the `forwardedRef`.
*/
function useRefObjectAsForwardedRef(forwardedRef, refObject) {
const $ = c(2);
let t0;
if ($[0] !== refObject.current) {
t0 = () => refObject.current;
$[0] = refObject.current;
$[1] = t0;
} else {
t0 = $[1];
}
useImperativeHandle(forwardedRef, t0);
}
export { useRefObjectAsForwardedRef };