React Timing Hooks é uma biblioteca leve que fornece dois hooks: useDebounceState
e useThrottleState
, para facilitar a gestão de estados que dependem de temporização. Ideal para aplicações que requerem controle preciso sobre atualizações de estado baseadas em eventos.
npm install @codedev-cyou/react-timing-hooks
ou
yarn add @codedev-cyou/react-timing-hooks
Um hook que gerencia um estado com debounce, permitindo que as atualizações sejam agrupadas após um período de inatividade.
import { useDebounceState } from "react-timing-hooks"
function Example() {
const [debouncedValue, setDebouncedValue] = useDebounceState("", 500)
const handleChange = e => {
setDebouncedValue(e.target.value)
}
return <input type="text" onChange={handleChange} />
}
Parâmetros
- initialValue: O valor inicial do estado.
- delay: O tempo em milissegundos para o debounce.
Um hook que gerencia um estado com throttling, permitindo que as atualizações sejam limitadas a um intervalo de tempo especificado.
import { useThrottleState } from "react-timing-hooks"
function Example() {
const [throttledValue, setThrottledValue] = useThrottleState("", 1000)
const handleChange = e => {
setThrottledValue(e.target.value)
}
return <input type="text" onChange={handleChange} />
}
Parâmetros
- initialValue: O valor inicial do estado.
- delay: O tempo em milissegundos para o throttling.
Veja exemplos na pasta example.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests.
- Faça um fork do projeto
- Crie uma branch para sua feature (git checkout -b feature/- MinhaFeature).
- Faça suas alterações e commit (git commit -m 'Adiciona nova feature').
- Envie para o repositório remoto (git push origin feature/MinhaFeature).
- Abra um Pull Request.
Free Software, Hell Yeah!