store 是 Svelte 中用于在组件内外共享状态的容器,遵循统一的订阅契约:任何实现了 subscribe、unsubscribe 与(可选的)set 的对象都可作为 store 使用。在组件中,以美元符号前缀($store)引用 store 时,其值变化会自动触发界面更新。
writable 用于创建可读写 store,提供 set 与 update 方法。set 直接设置新值,update 接收一个回调、基于旧值计算新值。当 store 没有任何订阅者被销毁时,其值会丢失,如需持久化可自行同步到 localStorage 等介质。
readable 创建只读 store,其值只能由内部逻辑通过传入的 set/update 修改,外部无法直接设置,常用于封装定时器、浏览器 API 等只应对外暴露读取的状态。derived 则从一个或多个 store 派生出新值,当依赖 store 变化时按聚合函数重新计算,可传入初始值,并支持返回清理函数。