@1771technologies/lytenyte-pro
Version:
Blazingly fast headless React data grid with 100s of features.
21 lines (20 loc) • 744 B
JavaScript
import { isReactVersionAtLeast } from "./react-version.js";
export function getElementRef(element) {
// React <=18 in DEV
if (isReactVersionAtLeast(18)) {
const getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
const mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
if (mayWarn) {
return element.ref;
}
}
if (isReactVersionAtLeast(19)) {
const getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
const mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
if (mayWarn) {
return element.props.ref;
}
}
// Not DEV
return element.props.ref || element.ref;
}