useId generates unique IDs that are consistent between server and client rendering.
Code:
1import { useId } from "react";23function FormField({ label, type = "text" }) {4 const id = useId();5 const errorId = useId();67 return (8 <div>9 <label htmlFor={id}>{label}</label>10 <input11 id={id}12 type={type}13 aria-describedby={errorId}14 />15 <span id={errorId} className="error">16 {/* error message */}17 </span>18 </div>19 );20}
Why important for SSR:
vs Math.random():
vs index:
Generated format:
:r1:, :r2:Use cases: