'use client'; import * as React from 'react'; const UNINITIALIZED = {}; /** * A React.useRef() that is initialized with a function. Note that it accepts an optional * initialization argument, so the initialization function doesn't need to be an inline closure. * * @usage * const ref = useRefWithInit(sortColumns, columns) */ export function useRefWithInit(init, initArg) { const ref = React.useRef(UNINITIALIZED); if (ref.current === UNINITIALIZED) { ref.current = init(initArg); } return ref; }