Skip to content

@ls-stack/react-utils / useTimeout

useTimeout

Functions

useTimeout()

ts
function useTimeout(ms, noClearOnUnmount): object;

Defined in: packages/react-utils/src/useTimeout.ts:28

Hook that manages multiple timeouts with a stable API.

Automatically clears all pending timeouts on unmount unless noClearOnUnmount is true.

Parameters

ms

number

Default timeout duration in milliseconds

noClearOnUnmount

boolean = false

If true, timeouts will not be cleared on unmount (default: false)

Returns

object

Object with call, clearAndCall, and clear methods

call()
ts
call: (cb, overrideMs?) => void;
Parameters
cb

() => void

overrideMs?

number

Returns

void

clear()
ts
clear: () => void;
Returns

void

clearAndCall()
ts
clearAndCall: (cb, overrideMs?) => void;
Parameters
cb

() => void

overrideMs?

number

Returns

void

Example

tsx
function Toast({ message }: { message: string }) {
  const [show, setShow] = useState(true);
  const timeout = useTimeout(3000);

  useEffect(() => {
    timeout.call(() => setShow(false));
  }, [timeout]);

  return show ? <div>{message}</div> : null;
}