【发布时间】:2021-01-30 14:10:34
【问题描述】:
我一直在玩 svelte,但我很难管理渲染。
我注意到,每当调用 store 的 update 方法时,都会触发重新渲染,即使 store 没有更改。我想我可能做错了什么,但我不确定是什么。
这是一个简单的例子。我原以为单击按钮不会在控制台中显示任何内容,因为没有实际更改(例如 Redux),但我每次都会收到一条新消息。
App.svelte:
{#each $store as value}
{value}
{/each}
<button on:click={updateStore} type="button">Click me</button>
<script>
import { afterUpdate } from 'svelte'
import { store, updateStore } from './store.js'
afterUpdate(() => console.log('render'))
</script>
store.js:
import { writable } from 'svelte/store'
export const store = writable([])
export const updateStore = () => store.update(s => s)
这是一个问题吗?我应该在我的控制台中显示这些消息,还是应该添加类似get(store) 的内容来决定是否要实际调用update?
【问题讨论】:
标签: svelte