@greenberry/use-label-prefix
Why?
When generating a lot of input groups on one page it can get tedious to create a unique label/id for each input group.
However this is required when you want to keep semantics and accessibility functionalities.
This hook generates a prefix for your labels which persist over multiple updates and are unique per instance of the component.
Installation
yarn add @greenberry/use-label-prefix
npm i @greenberry/use-label-prefix
Usage
const prefixed = useLabelPrefix('my-label');
const prefixed2 = useLabelPrefix('my-label', 16);
Inside a component
const MyInput = () => {
const prefixedLabel = useLabelPrefix('my-label');
return (
<div>
<label htmlFor={prefixedLabel}>
Hello Prefix
</label>
<input id={prefixedLabel} type="text" />
</div>
);
};
Notes
- When
NODE_ENV
is test
no random string will be generated