Skip to content

🅰 A React hook for creating unique IDs to facilitate WAI-ARIA and server rendering

License

Notifications You must be signed in to change notification settings

accessible-ui/use-id

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


useId()

Bundlephobia Types Code coverage Build status NPM Version MIT License

npm i @accessible/use-id

Creates unique deterministic IDs to facilitate WAI-ARIA and server rendering. Forked from @reach/auto-id.

Quick Start

import useId from '@accessible/use-id'

const Component = () => {
  const id = useId()
  return <div id={id} />
  // <div id='A:1'>
}

API

useId(fallbackId?: string | null | 0 | false, prefix?: string): string | undefined

A hook that returns a unique, but deterministic ID once per component

Arguments

Argument Type Default Required? Description
fallbackId string | null | 0 | false undefined No Allows you to provide your own id as a fallback
prefix string 🅰 No Allows you to provide a prefix for the id to prevent collisions with other auto id libs

Credit

This library is a fork of @reach/auto-id

Why fork?

Reach UI doesn't use real semantic versioning (each of their packages updates versions at the same time regardless of changes to individual packages... nonsense) so it's possible (and annoyingly so) that you could easily wind up with duplicate version of the auto-id package in your bundle. Lastly, the Reach library throws super annoying warnings in SSR because it uses useLayoutEffect. This library uses @react-hook/passive-layout-effect to avoid that.

LICENSE

MIT

About

🅰 A React hook for creating unique IDs to facilitate WAI-ARIA and server rendering

Resources

License

Stars

Watchers

Forks

Packages

No packages published