svelte/reactivity

Svelte 提供了各种内置对象(如 MapSetURL)的响应式版本,它们可以像原生对象一样使用,此外还提供了一少量处理响应式的额外工具。

SvelteSet

class SvelteSet<T> extends Set<T> {}

与原生 Set 行为一致,但对其修改(如 adddeleteclear)是响应式的——在模板或 $derived/$effect 中引用时会自动更新。

import { SvelteSet } from 'svelte/reactivity';

const selected = new SvelteSet();

SvelteMap

class SvelteMap<K, V> extends Map<K, V> {}

响应式版本的 Map

SvelteURL

class SvelteURL extends URL {}

响应式版本的 URL,对其属性(如 hrefsearchParams)的修改会被追踪。

SvelteURLSearchParams

class SvelteURLSearchParams extends URLSearchParams {}

响应式版本的 URLSearchParams

SvelteDate

class SvelteDate extends Date {}

响应式版本的 Date,适合用于倒计时等随时间变化的场景。