function createThrottledState<TValue, TSelected>(
host,
initialValue,
options,
selector?): [CellValue<TValue>, SetValue<TValue>, LitThrottler<SetValue<TValue>, TSelected>];Defined in: throttler/createThrottledState.ts:39
Creates throttled state with a scheduled setter.
Limits execution to the configured wait interval. Leading and trailing execution are enabled by default, and the latest blocked update is retained for the trailing edge.
Returns [value, setValue, utility]. The value is an accessor; call value() from render(). Setters accept a value or a functional updater. Updaters run when the utility executes, using the last committed value. Pending updates may be replaced or rejected according to the utility's scheduling rules. To store a function itself, pass an updater that returns that function.
The value updates independently of the utility selector. The default utility selection is {}. Pass a selector to subscribe to fields such as executionCount, isPending, or status where the underlying utility exposes them.
Pass the owning ReactiveControllerHost first. Host updates refresh options. Disconnecting runs cleanup; reconnecting restores subscriptions to the same utility. Options accept an object with top-level getters or an options factory. Function-valued core options remain callbacks. Local options override provider defaults without replacing the utility or its pending work. onUnmount replaces default cleanup and receives the utility instance. A custom callback must perform every needed cancel, stop, or abort action.
TValue
TSelected = { }
ReactiveControllerHost
TValue
LitPacerOptions<LitThrottlerOptions<SetValue<TValue>, TSelected>>
(state) => TSelected
[CellValue<TValue>, SetValue<TValue>, LitThrottler<SetValue<TValue>, TSelected>]
import { createThrottledState } from '@tanstack/lit-pacer'
// In a LitElement constructor:
const [count, setCount, utility] = createThrottledState(this, 0, { wait: 500 },
(state) => ({ executionCount: state.executionCount }),
)
setCount((previous) => previous + 1)
// Bind count and utility.state in the component. Read count() for the committed value.createThrottler