import { createSignal } from "solid-js"; import { createStore, reconcile } from "solid-js/store"; import { useSignal } from "./use-signal"; const [count, setCount] = createSignal(0); const doubled = () => count() * 2; export function Counter() { const ct = useSignal(count); const db = useSignal(doubled); const increment = () => setCount(c => c + 1); return (
{ct} × 2 = {db}
); } const [counters, setCounters] = createStore([1, 2, 3, 4, 5]); export function Counters() { const prev = useSignal(() => counters); const next = prev[prev.length - 1] ? prev[prev.length - 1] + 1 : 1; const inc = () => setCounters(reconcile([...prev, next])); const dec = () => setCounters(reconcile(prev.slice(0, -1))); return ( <>

Counters

{prev ? prev.map(counter => ) : No Counters} ); }