[]previous and next page

memo

Creates a cached derivation that recomputes only when the signals it reads change.

Creates a cached derivation that recomputes only when the signals it reads change. It is core's useMemo under the short name the compiler emits.

Import#

ts
import { memo } from "@shadow-js/web";

Signature#

ts
function memo<T>(fn: () => T): () => T

Parameters#

Name Description
fn The computation. Tracked; its result is cached until a dependency changes.

Returns#

An accessor for the current value.

Examples#

ts
import { useSignal } from "@shadow-js/core";
import { memo } from "@shadow-js/web";

function setup() {
  const [count, setCount] = useSignal(2);
  const doubled = memo(() => count() * 2);
  setCount(4);
  console.log(doubled()); // 8
}