Skip to content
Timer

useInterval

Reactive counter that increments on every interval tick

A thin wrapper around useIntervalFn that exposes a ReadonlyObservable<number> counter that increments on each tick.

Interval Counter

Counter increments every 200ms.

Interval fired
0
import {
import useInterval
useInterval
} from "@usels/web";
function
function Component(): JSX.Element
Component
() {
const
const counter: any
counter
=
import useInterval
useInterval
(1000);
return <
JSX.IntrinsicElements.div: DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>
div
>{
const counter: any
counter
.
any
get
()}</
JSX.IntrinsicElements.div: DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>
div
>;
// counter.get() → 0 initially, then 1, 2, 3... every second
}
import { useInterval } from "@usels/web";
function Component() {
useInterval(1000, {
callback: (count) => console.log("tick:", count),
});
}
import { useInterval } from "@usels/web";
function Component() {
const { counter$, reset, isActive$, pause, resume } = useInterval(1000, {
controls: true,
});
// pause() → stops ticking
// resume() → restarts
// reset() → counter → 0
}
import { useInterval } from "@usels/web";
function Component() {
const { counter$, resume } = useInterval(1000, {
controls: true,
immediate: false,
});
// resume() → start manually
}
import { observable, useInterval } from "@usels/web";
function Component() {
const ms$ = observable(1000);
const counter = useInterval(ms$);
// ms$.set(500) → restarts with 500ms period
}
ParameterTypeDescription
intervalMaybeObservable<number>-
optionsIntervalOptions & { controls: true; }-
OptionTypeDefaultDescription
controlsboolean-Expose pause/resume/reset controls — mount-time-only
immediatebooleantrueIf true, starts immediately.
callback((count: number) => void)-Callback invoked on every tick (receives current counter value)

IntervalReturn & Pausable

NameTypeDescription
counter$ObservablePrimitive<number>-
resetFn-
isActive$ReadonlyObservable<boolean>-
pauseFn-
resumeFn-

View on GitHub