or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

built-in-components.mdcaching.mdchildren.mdcomponents.mdcomposition.mdcontext.mddevelopment.mdelements.mdexperimental.mdhooks-context.mdhooks-effects.mdhooks-imperative.mdhooks-performance.mdhooks-state.mdhooks-transitions.mdindex.mdrefs.mdtransitions.md
tile.json

caching.mddocs/

Caching

Server-side caching with request scoping.

cache

function cache<A extends ReadonlyArray<any>, T>(fn: (...args: A) => T): (...args: A) => T;
// Request-scoped cache on server
const getUser = cache(async (id) => {
  const res = await fetch(`/api/users/${id}`);
  return res.json();
});

// Multiple components share cached result
function UserProfile({ userId }) {
  const user = use(getUser(userId));  // Uses cache
  return <div>{user.name}</div>;
}

cacheSignal

function cacheSignal(): AbortSignal | null;
const fetchUser = cache(async (id) => {
  const signal = cacheSignal();
  return fetch(`/api/users/${id}`, { signal });
});