You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte/packages/svelte/tests/runtime-runes/samples/effect-root/main.svelte

28 lines
478 B

<script>
let { log} = $props();
let x = $state(0);
let y = $state(0);
const cleanup = $effect.root(() => {
$effect(() => {
log.push(x);
});
const nested_cleanup = $effect.root(() => {
return () => {
log.push('cleanup 2') ;
}
});
return () => {
log.push('cleanup 1');
nested_cleanup();
}
});
</script>
<button on:click={() => x++}>{x}</button>
<button on:click={() => y++}>{y}</button>
<button on:click={() => cleanup()}>cleanup</button>