Debouncer API Reference
- DebouncerOptions
- DebouncerState
- AsyncDebouncerOptions
- AsyncDebouncerState
- debounce
- asyncDebounce
- Debouncer
- AsyncDebouncer
- ReactDebouncerOptions
- ReactAsyncDebouncerOptions
- ReactDebouncer
- ReactAsyncDebouncer
- useDebouncer
- useDebouncedCallback
- useDebouncedState
- useDebouncedValue
- useAsyncDebouncer
- useAsyncDebouncedCallback
Throttler API Reference
- ThrottlerOptions
- ThrottlerState
- AsyncThrottlerOptions
- AsyncThrottlerState
- throttle
- asyncThrottle
- Throttler
- AsyncThrottler
- ReactThrottlerOptions
- ReactAsyncThrottlerOptions
- ReactThrottler
- ReactAsyncThrottler
- useThrottler
- useThrottledCallback
- useThrottledState
- useThrottledValue
- useAsyncThrottler
- useAsyncThrottledCallback
Rate Limiter API Reference
Queue API Reference
ReactAsyncRateLimiter
Defined in: async-rate-limiter/useAsyncRateLimiter.ts:24
Extends#
- Omit<AsyncRateLimiter<TFn>, "store">
Type Parameters#
TFn#
TFn extends AnyAsyncFunction
TSelected#
TSelected = { }
Properties#
state#
readonly state: Readonly<TSelected>;Defined in: async-rate-limiter/useAsyncRateLimiter.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<AsyncRateLimiterState<TFn>>>;Defined in: async-rate-limiter/useAsyncRateLimiter.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) => ReactNode | Promise<ReactNode>;Defined in: async-rate-limiter/useAsyncRateLimiter.ts:41
A React 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#
ReactNode | ((state) => ReactNode)
selector#
(state) => TSelected
Returns#
ReactNode | Promise<ReactNode>
Example#
<rateLimiter.Subscribe selector={(state) => ({ rejectionCount: state.rejectionCount, isExecuting: state.isExecuting })}>
{({ rejectionCount, isExecuting }) => (
<div>Rejected: {rejectionCount}, {isExecuting ? 'Executing' : 'Idle'}</div>
)}
</rateLimiter.Subscribe>