Timeouts
React hooks that return some form of timed callback.
Most of these callbacks are based on setTimeout().
For rate-limiting use useThrottle() or useDebounce(). For pure timeouts use useTimeout() or useTimeoutEffect().
All of these hooks are memoized and will automatically take care of clearing any pending timeouts on unmount.