Skip to Content
DocsCloud UI HooksuseThrottledCallback

useThrottledCallback

Create a throttled version of a callback function.

Import

import { useThrottledCallback } from '@tidbcloud/uikit'

Usage

useThrottledCallback accepts a function and a wait time in milliseconds. It returns a throttled version that will only be called at most once every wait milliseconds.

import { useState } from 'react' import { useThrottledCallback } from '@tidbcloud/uikit' import { TextInput, Text } from '@tidbcloud/uikit' function Demo() { const [value, setValue] = useState('') const [throttledValue, setThrottledValue] = useState('') const handleChange = useThrottledCallback((val: string) => { setThrottledValue(val) }, 1000) return ( <> <TextInput value={value} onChange={(e) => { setValue(e.currentTarget.value) handleChange(e.currentTarget.value) }} placeholder="Type something..." /> <Text mt="md">Value: {value}</Text> <Text>Throttled value (updates at most once per second): {throttledValue}</Text> </> ) }

Definition

function useThrottledCallback<T extends (...args: any[]) => any>( callback: T, wait: number ): (...args: Parameters<T>) => void
Last updated on