# useId
> Generates a unique, deterministic ID for accessibility and element association.

Generates a unique, deterministic ID suitable for accessibility attributes and element association. When an explicit ID is provided, it is returned as-is.

## Import

```js
import { useId } from '@volue/wave-react';
```

## Example

```jsx
() => {
  const generatedId = useId();
  const explicitId = useId('my-custom-id');

  return (
    <Flex flow="column">
      <Text>{'Generated ID: ' + generatedId}</Text>
      <Text>{'Explicit ID: ' + explicitId}</Text>
    </Flex>
  );
};
```

---

## API reference

### Arguments

| Name         | Type                       | Default | Description                                                                                      | Required |
| ------------ | -------------------------- | ------- | ------------------------------------------------------------------------------------------------ | -------- |
| `providedId` | `string \| number \| null` | `—`     | An explicit ID to use. When provided, this value is returned directly instead of generating one. |          |

### Returns

`string | number | null` — The provided ID if given, otherwise a generated unique identifier.
