svelte5被认为是svelte的一个糟糕版本,尽管引入了基于proxy的反应式状态系统runnes,但在实际项目中遇到许多问题。使用runnes编写hooks时必须在特定文件中进行,增加了代码复杂性。此外,svelte5的生态系统较小,缺乏必要的组件支持,导致开发者感到困扰。总体来看,svelte5并未显著改善用户体验。
本文介绍了Svelte5中的符文(runes)的设计和使用。作者起初对这种设计持有负面态度,但经过学习和研究后,理解了符文的作用和设计原因。符文是一种响应式变量,用于监听和观察状态的变化。Svelte5引入了4种符文:$props()、$state()、$derived()和$effect()。它们分别用于声明组件的属性、定义状态、派生变量和处理副作用。符文的引入改变了代码的风格,但是对于喜欢这种改变的人来说,它们非常有用。
完成下面两步后,将自动完成登录并继续当前操作。