Skip to content
Tier

useSettle

Pro

Calls 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)
Markdown
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

With the Candor CLI

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)