Skip to main content

useDebounce

O hook useDebounce permite atrasar a atualização de um valor até que pare de mudar por um período específico. É extremamente útil para otimizar chamadas de API em campos de busca, evitando requisições desnecessárias a cada tecla digitada.

Importação

import { useDebounce } from 'buildgrid-ui'

Uso Básico

import { useDebounce } from 'buildgrid-ui'
import { useState, useEffect } from 'react'

function SearchComponent() {
const [searchTerm, setSearchTerm] = useState('')
const debouncedSearchTerm = useDebounce(searchTerm, 500)

useEffect(() => {
if (debouncedSearchTerm) {
// Fazer chamada para API apenas após 500ms sem mudanças
console.log('Buscando por:', debouncedSearchTerm)
}
}, [debouncedSearchTerm])

return (
<input
type="text"
value={searchTerm}
onChange={(e) => setSearchTerm(e.target.value)}
placeholder="Digite para buscar..."
/>
)
}

API Reference

useDebounce

function useDebounce<T>(value: T, delay?: number): T

Parâmetros

ParâmetroTipoPadrãoDescrição
valueT-Valor a ser debounced.
delaynumber250Delay em milissegundos.

Retorno

TipoDescrição
TValor debounced que só atualiza após o delay especificado.