Skip to content

useNow

Returns a ReadonlyObservable<Date> that reflects the current time, updated continuously via requestAnimationFrame (default) or a fixed interval.

Now: 3/6/2026, 10:00:59 AM

Updates every frame via requestAnimationFrame.

import {
import useNow
useNow
} from "@usels/web";
const
const now: any
now
=
import useNow
useNow
();
// now.get() → current Date, updated every frame
import {
import useNow
useNow
} from "@usels/web";
const
const now: any
now
=
import useNow
useNow
({
interval: number
interval
: 1000 }); // updates every second
import {
import useNow
useNow
} from "@usels/web";
const {
const now$: any
now$
,
const isActive$: any
isActive$
,
const pause: any
pause
,
const resume: any
resume
} =
import useNow
useNow
({
controls: boolean
controls
: true });
const pause: any
pause
(); // stops auto-update
const resume: any
resume
(); // restarts

The scheduler is chosen once at mount and cannot be changed dynamically:

interval valueScheduler
'requestAnimationFrame' (default)useRafFn — smooth, ~60fps
number (ms)useIntervalFn — battery-friendly
export interface UseNowOptions<Controls extends boolean = false> {
controls?: Controls;
interval?: "requestAnimationFrame" | number;
}
export declare function useNow(options?: UseNowOptions<false>): ReadonlyObservable<Date>;
export declare function useNow(options: UseNowOptions<true>): {
now$: ReadonlyObservable<Date>;
} & Pausable;

View on GitHub

  • tigerwest
  • a7392ab 2026-03-06 - feat(core,browser): add sync strategy hooks (tigerwest)