Debouncer API Reference
- DebouncerOptions
- DebouncerState
- AsyncDebouncerOptions
- AsyncDebouncerState
- debounce
- asyncDebounce
- Debouncer
- AsyncDebouncer
- PreactDebouncerOptions
- PreactAsyncDebouncerOptions
- PreactDebouncer
- PreactAsyncDebouncer
- useDebouncer
- useDebouncedCallback
- useDebouncedState
- useDebouncedValue
- useAsyncDebouncer
- useAsyncDebouncedCallback
Throttler API Reference
- ThrottlerOptions
- ThrottlerState
- AsyncThrottlerOptions
- AsyncThrottlerState
- throttle
- asyncThrottle
- Throttler
- AsyncThrottler
- PreactThrottlerOptions
- PreactAsyncThrottlerOptions
- PreactThrottler
- PreactAsyncThrottler
- useThrottler
- useThrottledCallback
- useThrottledState
- useThrottledValue
- useAsyncThrottler
- useAsyncThrottledCallback
Rate Limiter API Reference
Queue API Reference
PreactRateLimiter
Defined in: rate-limiter/useRateLimiter.ts:24
Extends#
- Omit<RateLimiter<TFn>, "store">
Type Parameters#
TFn#
TFn extends AnyFunction
TSelected#
TSelected = { }
Properties#
state#
readonly state: Readonly<TSelected>;Defined in: rate-limiter/useRateLimiter.ts:50
Reactive state that will be updated and re-rendered when the rate limiter state changes
Use this instead of rateLimiter.store.state
store#
readonly store: Store<Readonly<RateLimiterState>>;Defined in: rate-limiter/useRateLimiter.ts:56
Deprecated#
Use rateLimiter.state instead of rateLimiter.store.state if you want to read reactive state. The state on the store object is not reactive, as it has not been wrapped in a useSelector hook internally. Although, you can make the state reactive by using the useSelector in your own usage.
Subscribe#
Subscribe: <TSelected>(props) => ComponentChildren;Defined in: rate-limiter/useRateLimiter.ts:41
A Preact HOC (Higher Order Component) that allows you to subscribe to the rate limiter state.
This is useful for opting into state re-renders for specific parts of the rate limiter state deep in your component tree without needing to pass a selector to the hook.
Type Parameters#
TSelected#
TSelected
Parameters#
props#
children#
ComponentChildren | ((state) => ComponentChildren)
selector#
(state) => TSelected
Returns#
ComponentChildren
Example#
<rateLimiter.Subscribe selector={(state) => ({ rejectionCount: state.rejectionCount })}>
{({ rejectionCount }) => (
<div>Rejections: {rejectionCount}</div>
)}
</rateLimiter.Subscribe>