[]previous and next page

Known deviations

Names without an equivalent are listed in Not available.

For agentsUpdated

Names without an equivalent are listed in Not available. Behavior not called out in the table follows the corresponding Solid API.

Area Solid ShadowJS
Effect timing Effects re-run after every write outside a batch Queued, flushed in a microtask (ADR-007); memos are fresh at once
Effect arguments createEffect((prev) => next, init) No prev/initial value; the return value is the cleanup
createMemo seed createMemo(fn, init) No seed; prev is undefined first
createRoot Not owned by the surrounding scope Attached unless { detached: true }
runWithOwner, onCleanup, onMount Errors go to the owner; onCleanup returns fn; onMount's return is ignored runWithOwner rethrows; onCleanup returns void; onMount's return is a cleanup
Signal equality === Object.is
useId createUniqueId() works anywhere Throws outside an owner
useContext undefined without a provider Throws CONTEXT_MISSING
splitProps A key belongs to the first matching group A key belongs to every group that lists it
Store setter Path updaters get plain values Path updaters get drafts; do not return arrays of drafts
Store undefined Setting undefined deletes the key Keeps it; use delete
createMutable exists none
createResource Tuple One object
Keyed For n/a key= rows get an item accessor
Portal Wrapper div, bubbles through the component tree No wrapper; DOM-tree bubbling
lazy().preload() Resolves to the module Resolves to the component
Event handlers Re-bound when the expression changes (on:) Bound once
innerHTML="literal" Sets the property Becomes an attribute; use an expression
Destructured props, derived consts Lose reactivity Stay live inside components
renderToStringAsync Resolves to a string Resolves to { html, data }
Head tags in SSR MetaProvider plus getAssets() A createServerHead() collector passed as the head option