- Links
在 Svelte5 中,$state
和 $derived
可以离开 Svelte 组件在 TypeScript
或者 JavaScript
文件中使用,而不像 React 那样只能在组件中使用 useState
。前提是需要将文件修改为 .svelte.ts
或者 .js
文件,以便于 Svelte 编译器能够识别,并编译符文。
一个使用 store
的例子
使用 符文 来替代 Store
这里为什么要使用
get
:在任何给定时间点读取该状态时,会评估状态符文,如果状态是用于在 Svelte 组件绑定或者
$derived
表达式内部, 那么将设置一个订阅。用来在该状态更新时更新。如果不使用get
, 就不会有重新更新的作用,因为value
和label
将在返回值中就被读取和使用。这些原始值直接注入到了对象或者Svelte 组件绑定上,它们不是响应式的,永远不会更新。其他→ $state 工厂函数