Svelte子组件如何正确接收并响应父组件传来的props变化?

西门爱豪 阅读 3

我在写一个Svelte的列表组件,父组件传了个items数组进来,但更新后子组件没重新渲染,是哪里写错了吗?

我试过用$:声明响应式语句,也检查了props有没有拼错,但就是不生效……

<!-- Parent.svelte -->
<script>
  import ItemList from './ItemList.svelte';
  let items = ['apple', 'banana'];
  
  function addItem() {
    items = [...items, 'orange'];
  }
</script>

<button on:click={addItem}>Add</button>
<ItemList {items} />

子组件里就是简单遍历items,但点击按钮后列表没更新,控制台也没报错,真的搞不懂了。

我来解答 赞 3 收藏
二维码
手机扫码查看
1 条解答
慕容新红
我之前这样搞的,子组件得用 on:items 侦听 prop 变化,或者在子组件里用 export let items 声明 prop,这样就能自动响应变化了。
点赞
2026-03-23 12:35