useSettle
ProCalls onSettle once key has stopped changing for wait milliseconds: the way to play a moment or announce a result once a burst of changes settles, rather than on each one. Every change of key starts the wait again, so a burst calls it once, for where the burst ended. The key the component is drawn with isn't a change, so nothing is called on mount; after the first change, every change counts, a return to the first key too. onSettle is read when it runs, so it sees the latest render's values.
Give it what the person changes, as a string or number (JSON.stringify a rule or a list); a value the clock or the service changes doesn't settle anything.
// Read the seats' prices out once the person stops pressing More or Fewer.
useSettle(seats, () => announce(t("announceSeats", { count: seats })), 600)Version 5.2.0· other versions
This page is for 5.2.0, the current release. An earlier release’s page is the Markdown that release published, so the docs match the version you have installed (candor-lock.json records it).
Not in the docs of 1.3.0, 1.4.0, 1.5.0, 1.5.1, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.9.0, 1.9.1, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.8.0, 2.9.0, 2.10.0, 3.0.0, 4.0.0, 4.0.1, 4.0.2, 4.1.0, 4.2.0, 4.3.0, 4.4.0, 4.5.0 and 5.0.0: the page came later, or had another name then.
Docs pages weren’t kept for 1.0.0, 1.0.1, 1.1.0, 1.1.1, 1.2.0 and 1.2.1: they are kept from 1.3.0 on, and before that only llms.txt was published.
Preview
It's types and helpers, listed below.
Install
First time? Get started sets up the registry and theme. Or with shadcn directly: npx shadcn@latest add @candor/use-settle
Brings in: tokens
Functions
useSettle(key: string | number | boolean | null | undefined, onSettle: () => void, wait: number)