比较 Svelte 和 React(三)

书接上文

Styling

我喜欢 Svelte 对 style 有自己的看法;尤其是在像 Pomodone 这样的小型副项目的背景下,为我做出这个决定真是太好了。 Svelte 还可以检测未使用的 CSS 这一事实很棒,这也是我怀疑我会在未来的项目中更多地使用 Svelte 的原因之一。

但这并不是 React 的真正缺点; React 的优势之一是它可以让你控制这么多,并将 React 融入你的环境,但我喜欢 Svelte 附带一个开箱即用的、好的 CSS 。

条件类

我喜欢 Svelte 的一个小特性是我可以有条件地将类应用于元素:

<div class:is-active={isActive}>

这会将类 is-active 应用于元素,但前提是值 isActive 为真。这读起来很好,很清楚,而且开箱即用。

我已经使用 类名在 React 中实现了类似的功能,这是一个很好的解决方案,但我喜欢 Svelte 开箱即用的功能。

绑定事件监听器

与条件类类似,Svelte 以修饰符的形式打包了一些用于绑定事件侦听器的额外实用程序。这些允许您修改事件侦听器以要求 Svelte 为您包含常用功能,例如调用 event.preventDefault() 。

手动防止默认

<script>
function click(event) {
  event.preventDefault()
  // logic here
}
</script>

<button on:click={click}>
  Click me!
</button>

修饰符

<script>
function click() {
}
</script>

<button on:click|preventDefault={click}>
  Click me!
</button>

结论

我喜欢 React 和 Svelte。把我和他们中的任何一个放在一个代码库中,我会喜欢它,高效并乐于将新功能放在一起或修复错误。我在 React 中有副项目,在 Svelte 中有其他项目,我并不急于将任何一个转换为另一个。 React 和 Svelte 在很多方面都非常相似,但我发现它们在所有细微差别上都有所不同,我更喜欢 Svelte。

如果我要用一句话概括原因,那是因为我没有错过 useEffect 。我理解它存在的原因,我理解 React 采用的方法,并且它的方法有好处。但是编写复杂的 React 组件感觉更像是管理员;一直担心我会错过 useEffect 调用中的依赖项并最终导致浏览器会话崩溃。使用 Svelte,我没有那种挥之不去的感觉,而这正是我所享受的。当我需要它和有用的 API 时,Svelte 就在那里,但当我将我的应用程序放在一起时,它就会消失在后台。

以上,希望对你有所帮助!

全文完

原文链接:https://juejin.cn/post/7228955696119873594 作者:前端代码王

(0)
上一篇 2023年5月4日 上午10:52
下一篇 2023年5月4日 上午11:02

相关推荐

发表回复

登录后才能评论