mirror of
https://github.com/jaandrle/deka-dom-el
synced 2025-04-02 20:15:53 +02:00
* ⚡ 🎉 * ⚡ wip * 🔤 * ⚡ wip * ⚡ wip * ⚡ Refatc signals to .get/.set syntax #26 * 🐛 Better types for on* * 🔤 * 🔤 * 🐛 coumputed signal * 🔤 ⚡ Docs UI/UX * ⚡ 🔤 UI enhancements * ⚡ (bs) (un)min * 🔤 adds debugging * 🔤 ssr * 🔤 * ⚡ bs/lint * 🔤 * 🔤 UI * 🔤 updates texts * 🔤UI * ⚡ dispatch * 🔤 events * 🔤 elements * 🔤 intro * 🐛 fixes completitions for el with components * 🐛 wrong file(s) in git * 🔤 logo * 🐛 🔤 types 3ps * 🔤 ui/ux * 🔤 * 🔤 * 🔤 scopes * 🔤 * 🔤 ui/ux * 🔤 * ⚡ issignal * 🔤 improvemens * ⚡ irelands * 🔤 UI/UX/wording * 🐛 npx-hint [Scrollable region must have keyboard access | Axe Rules | Deque University | Deque Systems](https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI) * 🔤 logos * ⚡ better? dts builds * Update README.md
16 lines
526 B
JavaScript
16 lines
526 B
JavaScript
import { S } from "deka-dom-el/signals";
|
|
// Wrong - direct mutation doesn't trigger updates
|
|
const todos1 = S([{ text: "Learn signals", completed: false }]);
|
|
todos1.get().push({ text: "Debug signals", completed: false }); // Won't trigger updates!
|
|
|
|
// Correct - using .set() with a new array
|
|
todos1.set([...todos1.get(), { text: "Debug signals", completed: false }]);
|
|
|
|
// Better - using actions
|
|
const todos2 = S([], {
|
|
add(text) {
|
|
this.value.push({ text, completed: false });
|
|
}
|
|
});
|
|
S.action(todos2, "add", "Debug signals");
|