reactuals
Version:
A useful package providing a collection of 50+ React hooks and utilities to simplify React development.
17 lines (16 loc) • 493 B
JavaScript
import { useState } from "react";
/**
* Temporarily sets a boolean to true, then false after duration.
*
* Example:
* const [active, trigger] = useTimeoutToggle(2000);
* return <button onClick={trigger}>{active ? "ON" : "OFF"}</button>;
*/
export function useTimeoutToggle(duration = 1000) {
const [active, setActive] = useState(false);
const trigger = () => {
setActive(true);
setTimeout(() => setActive(false), duration);
};
return [active, trigger];
}