svelte-runes by spences10/svelte-skills-kit
npx skills add https://github.com/spences10/svelte-skills-kit --skill svelte-runes使用哪个符文? 属性:$props() | 可绑定:$bindable() | 计算:$derived() | 副作用:$effect() | 状态:$state()
关键规则: 符文只能在顶层使用。$derived 可以被重新赋值(使用 const 表示只读)。不要混合使用 Svelte 4/5 语法。对象/数组默认具有深度响应性。
<script>
let count = $state(0); // 可变状态
const doubled = $derived(count * 2); // 计算值(const = 只读)
$effect(() => {
console.log(`Count is ${count}`); // 副作用
});
</script>
<button onclick={() => count++}>
{count} (doubled: {doubled})
</button>
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
关于
@attach和其他模板指令,请参阅 svelte-template-directives 技能。
onclick 而不是 on:click,在布局中使用 {@render children()}$derived 可以被重新赋值(5.25+ 版本) - 使用 const 表示只读createContext 而不是 setContext/getContext$inspect.trace 来调试响应性问题每周安装量
264
代码仓库
GitHub 星标数
58
首次出现
2026年1月20日
安全审计
已安装于
opencode216
gemini-cli195
codex181
claude-code177
github-copilot177
cursor161
Which rune? Props: $props() | Bindable: $bindable() | Computed: $derived() | Side effect: $effect() | State: $state()
Key rules: Runes are top-level only. $derived can be overridden (use const for read-only). Don't mix Svelte 4/5 syntax. Objects/arrays are deeply reactive by default.
<script>
let count = $state(0); // Mutable state
const doubled = $derived(count * 2); // Computed (const = read-only)
$effect(() => {
console.log(`Count is ${count}`); // Side effect
});
</script>
<button onclick={() => count++}>
{count} (doubled: {doubled})
</button>
For
@attachand other template directives, see the svelte-template-directives skill.
onclick not on:click, {@render children()} in layouts$derived can be reassigned (5.25+) - use const for read-onlycreateContext over setContext/getContext for type safety$inspect.trace to debug reactivity issuesWeekly Installs
264
Repository
GitHub Stars
58
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode216
gemini-cli195
codex181
claude-code177
github-copilot177
cursor161
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
106,200 周安装