@gluonjs/reactivity / packages/reactivity/src / untracked
Function: untracked()
untracked<
T>(callback):T
Type Parameters
T
T
Parameters
callback
() => T
Returns
T
Example
Read reactive state without adding those reads to the currently active effect's dependency set:
import {
batch,
effect,
nextTick,
ref,
stop,
untracked,
type EffectDebuggerEvent,
type EffectOptions,
type ReactiveEffectRunner,
type TrackOperation,
type TriggerOperation,
} from '@gluonjs/reactivity';
const count = ref(0);
const debugEvents: EffectDebuggerEvent[] = [];
const options: EffectOptions = {
onTrack: (event) => debugEvents.push(event),
onTrigger: (event) => debugEvents.push(event),
};
const runner: ReactiveEffectRunner<number> = effect(() => count.value, options);
batch(() => { count.value += 1; count.value += 1; });
const snapshot = untracked(() => count.value);
await nextTick();
stop(runner);
const track: TrackOperation = 'get';
const trigger: TriggerOperation = 'set';
console.log(snapshot, debugEvents.length, track, trigger);