Svelte exposes context functions from the svelte package. Call them during component initialization.
Create reactive state inside the component, so each todo list has its own data.
setContext makes a value available to descendants. Keep the same state object, and update its properties to preserve reactivity.
<script>
import { setContext } from 'svelte';
import TodoCount from './TodoCount.svelte';
const list = $state({
todos: [{ task: 'Walk dog', completed: false }],
});
setContext('todos', list);
</script>
<TodoCount />
<button onclick={() => list.todos.push({
task: 'Read newspaper', completed: false,
})}>Add a todo</button>