网易首页 > 网易号 > 正文 申请入驻

前端框架 React 和 Svelte 的基础比较

0
分享至

翻译 | 红薯

出品 | OSC开源社区(ID:oschina2013)

在 JavaScript 前端开发框架中,Svelte 算是一个新来的搅局者,在网上我们已经听到很多关于 Svelte 的哔哔。因此我决定试试这个家伙,顺便跟 React 做个简单的比较。

本文将展示 Svelte 和 React 在构建一个基础应用的差异,其中涉及到的内容包括:

  • 组件结构

  • 状态初始化

  • 属性传递

  • 状态向上传递

  • 事件侦听

  • 动态样式

还有很多其他方面的内容需要讨论,例如 按需渲染 和 生命周期 等其他炫酷的概念。限于篇幅,这篇文章还是聚焦在基础使用上吧。

准备工作

在继续往下阅读之前,你应该准备好如下环境:

  • npm 或者 yarn

  • node.js

  • 如果你用 Visual Studio Code 开发,可以装一个 Svelte 插件 。

Svelte 与 React

Svelte 和 React.js 两者都是基于组件的 JavaScript 框架,主要用于 Web 应用的开发。最主要的区别是 Svelte 没有使用虚拟 DOM。Svelte 在构建的时候就将代码编译成 Vanilla JS 代码,而 React 在运行时解释代码。

Svelte 文档写道:

‎Svelte 是一种全新的构建 Web 应用的方法。诸如 React 和 Vue 这类传统的框架,它们的大部分工作都在浏览器上执行,而 Svelte 在构建应用的过程做就了大量的工作。 ‎Svelte 没有使用虚拟 DOM 技术,而是当应用状态发生变化时,通过代码如手术般的更新 DOM。‎

酷!但是这些底层的细节对我来说并不重要。我只想从开发人员的角度看看,在使用 Svelte 和 React 开发应用程序时,感觉好吗?有趣吗?直观吗?

开工!

创建应用脚手架

在这篇文章中,我们将创建一个很小的 Web 应用,产品经理给这个应用确定了如下需求:

  • 三个组件,分别是:App 、Heading 和 Button

  • 当点击 Button 时,Heading 会更新显示点击的次数

  • 每次点击 Button 时,Button 自身的颜色会跟着变化

首先使用如下命令在你电脑上创建一个新的目录,暂且命名为 svelte-react:

mkdir svelte-react
cd svelte-react

接着分别创建 Svelte 和 React 的应用模板并运行。这里 Svelte 的初始步骤比 React 多了一步,此外 Svelte 默认端口是 5000 ,而 React 是 3000 。

Svelte

打开终端窗口,运行如下命令:

npx degit sveltejs/template svelte-test
cd svelte-test
npm install
npm run dev
React

打开第二个终端窗口,进入刚建好的 svelte-react 目录,运行命令:

npx create-react-app react-test
cd svelte-react
npm start

你会发现 Svelte 的命令运行快得多,因为你不是真正在运行一个工具,而是克隆一个项目模板。

构建应用组件

运行完上述命令后,你会注意到 Svelte 和 React 各自生成很多很多的文件,感兴趣的话,可以随便浏览看看这些生成的文件。

不管是 Svelte 和 React ,都是把组件源码放到 src 文件夹下,Svelte 项目主要是一些扩展名为 svelte 的文件,而 React 项目则是一些 .js 的文件。

两个项目都有一个 App 组件,分别是 App.svelte 和 App.js 。用你喜好的编辑器分别打开这两个文件,清空它们,我们从头开始。

组件结构 Svelte

和 React 组件不同的是,Svelte 的代码更像是以前我们在写 HTML、CSS 和 JavaScript 一样。

所有的 JavaScript 代码都位于 Svelte 文件顶部的 标签当中。

然后是 HTML 代码,你还可以在 标签中编写样式代码。有趣的是,组件中的样式代码只对当前组件有效。这意味着在组件中为

标签编写的样式不会影响到其他组件中的

元素。

接下来我们开始编写 App.svelte,首先删空文件内容,然后添加一个空的

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
特朗普曾惊出一身冷汗:中美已无法开战,一杀手锏让美军无计可施

特朗普曾惊出一身冷汗:中美已无法开战,一杀手锏让美军无计可施

你是我的小甜甜
2026-05-27 23:03:54
苹果手表无创血糖监测有望落地:不需要传统的扎手指采血,也不需抽血检测,通过传感器就能识别血糖升高

苹果手表无创血糖监测有望落地:不需要传统的扎手指采血,也不需抽血检测,通过传感器就能识别血糖升高

鲁中晨报
2026-05-27 08:55:16
新书披露“黎巴嫩寻呼机爆炸”内幕:行动差点被伊朗发现,摩萨德将健身房改成组装线

新书披露“黎巴嫩寻呼机爆炸”内幕:行动差点被伊朗发现,摩萨德将健身房改成组装线

红星新闻
2026-05-26 19:18:13
52岁《美国派》女星泳装秀曲线,OnlyFans一周狂揽近7000万

52岁《美国派》女星泳装秀曲线,OnlyFans一周狂揽近7000万

生活观察员啊
2026-05-28 01:20:59
女子多次告知自己花生严重过敏 餐厅仍在菜中加入花生油 致女子出现严重过敏反应进抢救室 女子要求赔偿1000元被质疑“敲诈勒索”

女子多次告知自己花生严重过敏 餐厅仍在菜中加入花生油 致女子出现严重过敏反应进抢救室 女子要求赔偿1000元被质疑“敲诈勒索”

闪电新闻
2026-05-26 18:43:15
亏损超62亿,一代空调大王爆雷!

亏损超62亿,一代空调大王爆雷!

蒋东文
2026-05-26 21:05:52
咪咕成为2026世界杯官方持权转播商,解说团队组成豪华阵容

咪咕成为2026世界杯官方持权转播商,解说团队组成豪华阵容

北青网-北京青年报
2026-05-27 14:19:04
卡戴珊同款妊娠纹油仅售25美元,梅根孕期也在用

卡戴珊同款妊娠纹油仅售25美元,梅根孕期也在用

生活观察员啊
2026-05-27 00:27:27
反腐不再靠举报!2026年纪委大数据这样“揪”出腐败

反腐不再靠举报!2026年纪委大数据这样“揪”出腐败

职场资深秘书
2026-05-24 20:56:49
刘强东最新讲话:想尽一切办法保住数十万员工的饭碗,承诺“被机器人取代的一线员工,一个都不开除”

刘强东最新讲话:想尽一切办法保住数十万员工的饭碗,承诺“被机器人取代的一线员工,一个都不开除”

极目新闻
2026-05-27 18:54:57
业主信息被卖牵出56人黑灰产链,警方:11人被采取刑事强制措施

业主信息被卖牵出56人黑灰产链,警方:11人被采取刑事强制措施

界面新闻
2026-05-27 08:49:01
10年麻将馆老板囗述:凡是爱打麻将的,没有一个人日子是过得好的

10年麻将馆老板囗述:凡是爱打麻将的,没有一个人日子是过得好的

小噎论事
2026-04-24 17:15:21
16岁已是人间尤物,4年换20个男人,找到老实人接盘后收心做人妻

16岁已是人间尤物,4年换20个男人,找到老实人接盘后收心做人妻

傲傲讲历史
2026-05-27 05:23:04
为什么现在光棍问题这么严重?评论区给出了惊人答案……

为什么现在光棍问题这么严重?评论区给出了惊人答案……

慧翔百科
2026-05-27 17:44:49
放得越久越值钱!“这6样”千万别扔掉,第2种家家户户都有!

放得越久越值钱!“这6样”千万别扔掉,第2种家家户户都有!

Home范
2026-05-11 11:45:07
包工头退出舞台!住建委:取消劳务分包!全面实现自有工人施工!国资委:建筑央企建立自有工人队伍

包工头退出舞台!住建委:取消劳务分包!全面实现自有工人施工!国资委:建筑央企建立自有工人队伍

新浪财经
2026-05-27 00:42:22
阿里美团京东集体沉默,朴朴报价太高了

阿里美团京东集体沉默,朴朴报价太高了

东哥解读电商
2026-05-27 10:28:14
“他们都该死”,老汉怒杀儿子一家四口,安徽凤台灭门惨案始末

“他们都该死”,老汉怒杀儿子一家四口,安徽凤台灭门惨案始末

易玄
2026-05-27 10:06:45
罕见上调204%!震惊全球

罕见上调204%!震惊全球

格隆汇
2026-05-27 19:24:06
收评:沪指跌超1% 防御性板块逆势走强

收评:沪指跌超1% 防御性板块逆势走强

财联社
2026-05-27 15:04:06
2026-05-28 02:44:49
开源中国 incentive-icons
开源中国
每天为开发者推送最新技术资讯
7769文章数 34545关注度
往期回顾 全部

科技要闻

韬定律:全球在卷纳米数 华为换了一把尺子

头条要闻

特朗普:伊朗即使放弃高浓缩铀也无法获得解除制裁

头条要闻

特朗普:伊朗即使放弃高浓缩铀也无法获得解除制裁

体育要闻

这群老阿姨,是最硬核的马刺球迷

娱乐要闻

王鹤棣风波连累父亲炸串店遭差评?

财经要闻

中国半导体的阳谋

汽车要闻

限时补贴价9.28-10.98万 MG 4X正式上市

态度原创

房产
家居
手机
艺术
公开课

房产要闻

合生创展前总裁被查!直指房企违规放贷、利益输送等问题

家居要闻

古老而持久 石影扶手椅

手机要闻

鸿蒙系统大推送:6.1.0.125已来袭,API 24也转正了!

艺术要闻

蚂蚁新总部封顶了!大圆环到底有啥魔力,科技公司都抢着用?

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版