add changeset and test

pull/10783/head
Dominic Gannaway 2 years ago
parent 087c573e4e
commit 8e8224c008

@ -0,0 +1,5 @@
---
"svelte": patch
---
fix: adjust render effect ordering

@ -0,0 +1,21 @@
import { test } from '../../test';
import { log } from './log.js';
export default test({
get props() {
return { n: 0 };
},
before_test() {
log.length = 0;
},
async test({ assert, component }) {
assert.deepEqual(log, ['$effect.pre 0', 'another $effect.pre 1', 'render n0', 'render i1']);
log.length = 0;
component.n += 1;
assert.deepEqual(log, ['$effect.pre 1', 'another $effect.pre 2', 'render n1', 'render i2']);
}
});

@ -0,0 +1,19 @@
<script>
import { untrack } from 'svelte';
import { log } from './log.js';
let { n = 0 } = $props();
let i = $state(0);
function logRender(i) {
log.push(`render ${i}`);
}
$effect.pre(() => {
log.push(`$effect.pre ${n}`);
untrack(() => i++)
});
$effect.pre(() => {
log.push('another $effect.pre '+ i);
})
</script>
<p>{logRender(`n${n}`)}</p>
<p>{logRender(`i${i}`)}</p>
Loading…
Cancel
Save