@equinor/eds-utils
Version:
Utility functions and hooks for the Equinor Design System
16 lines (13 loc) • 377 B
JavaScript
import { useState, useEffect } from 'react';
let counter = 0;
const useId = (idOverride, type) => {
const [defaultId, setDefaultId] = useState(idOverride);
const id = idOverride || defaultId;
useEffect(() => {
if (defaultId == null) {
setDefaultId(`eds-${type ? type + `-` : ''}${counter++}`);
}
}, [defaultId, type]);
return id;
};
export { useId };