用于 v3.12 的功能在 v3.30 中不起作用

Feature used to work on v3.12 does not work in v3.30

我在这里放了 2 个精巧的 REPL,

  1. https://svelte.dev/repl/8449811b601449d6b0bd40cd1dd5b594?version=3.12.1
  2. https://svelte.dev/repl/d83532b26811443f91633dcb3ed224b4?version=3.30.0

它实现了幻灯片放映。两个 REPL 都是完全相同的代码。 (1) 有效,但 (2) 无效。过去在 v3.12 上工作的东西在 v3.30 上不工作。任何线索将不胜感激。

问题在这里:

<script>
  import Slide from './Slide.svelte';
  ...
</script>
...
{#each buffer as Slide}
  <Slide {Slide}/>
{/each}
...

每个循环中的局部 Slide 变量正在隐藏 Slide 导入,因此 Svelte 正在尝试从幻灯片数据创建一个组件,而不是 Slide 组件。

如果您更改变量名称,它会恢复生机:

<script>
  import Slide from './Slide.svelte';
  ...
</script>
...
{#each buffer as slide}
  <Slide Slide={slide}/>
{/each}
...

这对我来说似乎是正确的行为。您的问题可能是在 Svelte 中修复错误后出现的。