solidjs/solid-docs

[Content]: Document the lack of reactivity when mutating objects or arrays returned by `createSignal`

Open

#1,621 opened on Aug 11, 2026

 (0 comments) (0 reactions) (0 assignees)MDX (363 forks)github user discovery
good first issuesolid

Repository metrics

Stars
 (289 stars)
PR merge metrics
 (Avg merge 1d 15h) (24 merged PRs in 30d)

Description

📚 Subject area/topic

src/routes/(0)concepts/(2)signals.mdx

📋 Page(s) affected (or suggested, for new content)

/concepts/signals

📋 Description of content that is out-of-date or incorrect

If you create pass an array/object to createSignal, any changes to the underlying object won't be tracked by the reactivity system. Example:

const [arraySig, setArraySig] = createSignal([1, 2, 3]);
const copy = arraySig();
copy.push(...copy.slice(-3).map(x => x + 3));
console.log(arraySig()); /* `arraySig()` is now [1, 2, 3, 4, 5, 6], but UI won't update and effects won't rerun */

I believe this behaviour has to be documented.

🖥️ Reproduction in StackBlitz (if reporting incorrect content or code samples)

No response

Contributor guide