diff --git a/src/compiler/compile/render_dom/wrappers/IfBlock.ts b/src/compiler/compile/render_dom/wrappers/IfBlock.ts index f67d8ddf07..9b3e56635d 100644 --- a/src/compiler/compile/render_dom/wrappers/IfBlock.ts +++ b/src/compiler/compile/render_dom/wrappers/IfBlock.ts @@ -521,21 +521,21 @@ export default class IfBlockWrapper extends Wrapper { const update_mount_node = this.get_update_mount_node(anchor); const enter = b` - if (!${name}) { - ${name} = ${branch.block.name}(#ctx); - ${name}.c(); - ${has_transitions && b`@transition_in(${name}, 1);`} - ${name}.m(${update_mount_node}, ${anchor}); - } else { - ${dynamic && b`${name}.p(#ctx, #dirty);`} - ${ - has_transitions && - b`if (${block.renderer.dirty(branch.dependencies)}) { + if (${name}) { + ${dynamic && b`${name}.p(#ctx, #dirty);`} + ${ + has_transitions && + b`if (${block.renderer.dirty(branch.dependencies)}) { @transition_in(${name}, 1); }` - } } - `; + } else { + ${name} = ${branch.block.name}(#ctx); + ${name}.c(); + ${has_transitions && b`@transition_in(${name}, 1);`} + ${name}.m(${update_mount_node}, ${anchor}); + } + `; if (branch.snippet) { block.chunks.update.push(b`if (${block.renderer.dirty(branch.dependencies)}) ${branch.condition} = ${branch.snippet}`); diff --git a/test/runtime/samples/transition-js-if-outro-unrelated-component-binding-update/Component.svelte b/test/runtime/samples/transition-js-if-outro-unrelated-component-binding-update/Component.svelte index cbb4db0429..adb9aaea0e 100644 --- a/test/runtime/samples/transition-js-if-outro-unrelated-component-binding-update/Component.svelte +++ b/test/runtime/samples/transition-js-if-outro-unrelated-component-binding-update/Component.svelte @@ -1,18 +1,18 @@