rsuite
Version:
A suite of react components
22 lines (18 loc) • 607 B
JavaScript
import * as React from 'react';
import uniqueId from 'lodash/uniqueId';
var reactUseId = React['useId' + ''];
/**
* Used for generating unique ID for DOM elements
*
* @param idProp If id is provided, it will be used instead of generating a new one
*/
export default function useUniqueId(prefix, idProp) {
var idRef = React.useRef();
if (reactUseId !== undefined) {
return idProp !== null && idProp !== void 0 ? idProp : "" + prefix + reactUseId();
}
if (!idRef.current) {
idRef.current = uniqueId(prefix);
}
return idProp !== null && idProp !== void 0 ? idProp : idRef.current;
}