The result of the function
const condition = signal(true);
const value = signal(1);
const debug = signal("debug info");
const result = computed(() => {
if (condition()) {
// This creates a dependency on debug
console.log("Debug:", debug());
return value() * 2;
}
// This does NOT create a dependency on debug
untrack(() => console.log("Untracked debug:", debug()));
return value();
});
// Changing debug will trigger re-computation only in first case
Reads signals without creating dependency tracking.
When called within an effect or computed, untrack prevents the signals read inside from becoming dependencies. Useful for conditional logic and side effects that shouldn't trigger re-runs.
Isomorphic: Works identically across all JavaScript runtimes. Performance: Avoids unnecessary effect re-runs. Selective: Only affects signals read within the untrack function.