Overview
memoHtml(templateFn, deps?) calls templateFn only when one or more deps changed since the last render (strict === per index, same as lit-html guard). Factory first so it reads naturally inside html`…`.
Default deps are [] — evaluate once. A change in deps array length always counts as a change. The deps array is snapshotted.
memoTemplate is a deprecated alias.
memoHtml vs memo vs guard
|
API
|
Layer
|
Notes
|
|---|---|---|
memo(fn)
| State | Derived reactive value — see /docs/state/memo. |
memoHtml(fn, deps)
| Template | Skip subtree factory when deps unchanged. |
guard(deps, fn)
| lit-html | Same idea; deps first. memoHtml flips the argument order. |
Skip rebuild on unrelated parent ticks
Parent re-renders on ticks, but the card factory only runs when name() changes.
Per-row memoization
Each button’s factory depends on id, label, and selected equality — other rows stay cached.