useId

React 🟢 Junior

Définition

Hook qui génère un identifiant unique stable entre serveur et client, utile pour les attributs d'accessibilite comme htmlFor et aria-describedby.

Analogie

Comme un tampon officiel : le même numéro est attribue que tu sois au guichet (serveur) ou en ligne (client).

Exemple de code

function Input({ label }) {
  const id = useId();
  return (
    <>
      <label htmlFor={id}>{label}</label>
      <input id={id} />
    </>
  );
}

Cas d'usage

Générer des IDs pour les associations label/input sans risque de collision en SSR.

Anti-pattern

Utiliser useId pour générer des keys de liste : il n'est pas prévu pour ca.
#hooks#a11y#react18

← → au clavier pour passer d'une fiche à l'autre