untracked
A way to read signals without creating reactive dependencies.
API
function untracked<T>(untrackedFn: () => T): T
untrackedFn
: A function to execute without tracking signal dependencies.- Returns: The value returned by the function
untrackedFn
.
Basic Usage
Access a signal reactive scope (like computed or effect) without making that scope depend on the signal.
import { signal, computed, untracked } from '@hellajs/core';
const value = signal(5);
const multiplier = signal(10);
const result = computed(() => {
// `result` will update when `value` changes...
const currentValue = value();
// ...but it will NOT update when `multiplier` changes.
const currentMultiplier = untracked(() => multiplier());
return currentValue * currentMultiplier;
});
console.log(result()); // 50
value(6);
console.log(result()); // 60 (recomputed because `value` is a dependency)
multiplier(20);
console.log(result()); // 60 (NOT recomputed because `multiplier` is untracked)