mirror of https://github.com/sveltejs/svelte
Merge 55cf7e9ded into 020242d6be
commit
863246240f
@ -0,0 +1,5 @@
|
||||
---
|
||||
'svelte': patch
|
||||
---
|
||||
|
||||
fix: evaluate uninitialized derived values outside their fork batch
|
||||
@ -0,0 +1,6 @@
|
||||
<script>
|
||||
const props = $props();
|
||||
const klass = (value) => `box ${value}`;
|
||||
</script>
|
||||
|
||||
<button class={klass(props.label)} disabled={props.disabled}>x</button>
|
||||
@ -0,0 +1,14 @@
|
||||
import { flushSync } from 'svelte';
|
||||
import { test } from '../../test';
|
||||
|
||||
export default test({
|
||||
skip_no_async: true,
|
||||
test({ assert, target }) {
|
||||
const [fork, update] = target.querySelectorAll('button');
|
||||
|
||||
flushSync(() => fork.click());
|
||||
flushSync(() => update.click());
|
||||
|
||||
assert.htmlEqual(target.innerHTML, '<button>fork</button> <button>update</button>');
|
||||
}
|
||||
});
|
||||
@ -0,0 +1,14 @@
|
||||
<script>
|
||||
import { fork } from 'svelte';
|
||||
import Child from './Child.svelte';
|
||||
|
||||
let target = $state(false);
|
||||
let disabled = $state(false);
|
||||
</script>
|
||||
|
||||
<button onclick={() => fork(() => (target = true))}>fork</button>
|
||||
<button onclick={() => (disabled = true)}>update</button>
|
||||
|
||||
{#if target}
|
||||
<Child label="a" {disabled} />
|
||||
{/if}
|
||||
Loading…
Reference in new issue