自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用React四年后轉(zhuǎn)而使用Vue,是一種什么樣的體驗?

開發(fā) 前端
過去四年來,筆者都是用React框架工作,最近開始使用Vue了。盡管兩者有一些概念上的差異——Vue受到了Angular的影響,但在React框架下完成的工作同樣適用于Vue。

本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)。

過去四年來,筆者都是用React框架工作,最近開始使用Vue了。盡管兩者有一些概念上的差異——Vue受到了Angular的影響,但在React框架下完成的工作同樣適用于Vue。

筆者覺得Vue整合了Angular和React的精華部分。關(guān)鍵理由之一就是:Vue框架的創(chuàng)建者——尤雨溪,曾利用React來獲得靈感,開發(fā)新的框架。

“我想,如果我只提取React中最喜歡的部分,不考慮其他任何概念,來構(gòu)建一些輕量級的框架,會怎么樣呢?同時,我也很好奇React的內(nèi)部實現(xiàn)是如何進行的。所以我開始嘗試著復(fù)制這一最小功能集,比如聲明式數(shù)據(jù)綁定。我就是那樣開始構(gòu)建Vue的。”

——尤雨溪

[[376007]]

這篇文章將重點關(guān)注兩種框架的差異。首先,來看看一些事實:

使用React四年后轉(zhuǎn)而使用Vue,是一種什么樣的體驗?

快速比較

  • React是庫,Vue則是完整的框架
  • 都能快速運行,都是輕量級前端框架
  • 都有一個組件式系統(tǒng)架構(gòu)
  • 都使用virtual DOM
  • 都可以放進一個HTML文件中或成為更復(fù)雜的Webpack設(shè)置模塊
  • 都有獨立但通用的路由器和狀態(tài)管理庫

最大的不同在于,Vue通常使用HTML模板文件,而React完全是使用JavaScript庫。Vue也有可變狀態(tài),以及用于重新呈現(xiàn)的自動化系統(tǒng),這被稱為反應(yīng)性。

組件式系統(tǒng)架構(gòu)

React和Vue都遵循基于可重用組件的方法。

(1) 比較React組件和Vue組件

React和Vue都提供component方法,但是它們完全不同。這是因為React將組件定義為類,而Vue將組件定義為對象。Vue.component全局注冊組件,而React.Component充當組件的基類。

 

使用React四年后轉(zhuǎn)而使用Vue,是一種什么樣的體驗?

 

 

<ComponentName />是一個在模板中直接使用的類名

 

Vue中的組件是普通對象,無須擴展Vue。

使用React四年后轉(zhuǎn)而使用Vue,是一種什么樣的體驗?

Vue中相同的組件和模式:<ComponentName/>只是一個對象,必須包含在Vue應(yīng)用的components值中才能顯示。

盡管擁有基于組件的方法,兩者卻大不相同。

(2) 比較React JSX和Vue Templates

React的renderProp方法與JavaScript相同,所以你在模板里所做的一切都和在JavaScript中做的一樣。Vue依賴于HTML模板,所以它包含了一些指令。這些指令在設(shè)計上與AngularJS非常相似(事實上幾乎一樣:v-if, v-for, v-show等)。

生命周期方法

Vue中的組件具有與React方法相似的生命周期方法,試著一一配對:

  • constructor → created
  • componentWillMount → beforeMount
  • componentDidMount → mounted
  • componentWillUnmount → beforeDestroy
  • componentDidCatch → N/A
  • shouldComponentUpdate → N/A
  • setState → N/A — 直接設(shè)置屬性即可

組件狀態(tài)和數(shù)據(jù)

在React中,有組件state。在Vue中,有data。

設(shè)置初始狀態(tài)

使用React四年后轉(zhuǎn)而使用Vue,是一種什么樣的體驗?

React組件

使用React四年后轉(zhuǎn)而使用Vue,是一種什么樣的體驗?

Vue組件

更新狀態(tài)

 

使用React四年后轉(zhuǎn)而使用Vue,是一種什么樣的體驗?

 

 

React使用setState方法

 

 

使用React四年后轉(zhuǎn)而使用Vue,是一種什么樣的體驗?

 

Vue只是將新值賦予該屬性

條件渲染

使用React四年后轉(zhuǎn)而使用Vue,是一種什么樣的體驗?

React通常使用三元操作在一定條件下呈現(xiàn)內(nèi)容

使用React四年后轉(zhuǎn)而使用Vue,是一種什么樣的體驗?

Vue引入了v-if指令,作用相同。

用循環(huán)迭代和渲染

使用React四年后轉(zhuǎn)而使用Vue,是一種什么樣的體驗?

在React中,通常對值進行map并返回一個字符串,該字符串包含希望的每個element值。

使用React四年后轉(zhuǎn)而使用Vue,是一種什么樣的體驗?

在Vue中,會使用v-for directive

生態(tài)系統(tǒng)

Vue比React有更多的“官方”庫,這意味著它與核心框架一起得到了官方的支持、維護和發(fā)布。由于還不夠成熟,Vue沒有React那么多的社區(qū)支持庫。

對照表

使用React四年后轉(zhuǎn)而使用Vue,是一種什么樣的體驗?

總之,Vue和React都是創(chuàng)建復(fù)雜網(wǎng)絡(luò)解決方案的強大工具。他們足以讓你得心應(yīng)手地完成任何任務(wù)。無論哪一個,都是正確的選擇。

 

責任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2015-09-09 09:41:28

十年代碼

2019-07-08 17:34:29

共享辦公ideaPod文印

2019-04-03 14:51:18

CPU性能工藝

2020-03-03 15:31:47

ReactVue前端

2015-11-03 08:51:21

程序員怪物

2017-03-10 09:09:41

C語言體驗

2018-05-30 15:22:03

KotlinAndroid開發(fā)

2020-11-06 17:49:38

程序員技術(shù)開發(fā)

2014-03-03 09:59:36

AWS亞馬遜Web服務(wù)

2017-04-06 15:00:38

編程語言

2018-05-30 15:07:37

KotlinAndroid開發(fā)

2024-07-12 14:54:48

2015-12-03 09:23:25

程序員產(chǎn)品經(jīng)理

2017-08-17 13:14:01

2013-05-03 10:26:49

互聯(lián)網(wǎng)

2020-07-08 15:13:04

開源技術(shù) 趨勢

2016-03-07 10:51:02

華為華為合作伙伴伙伴大會

2013-06-03 09:16:26

云計算

2021-03-22 08:15:46

國企程序猿事業(yè)

2014-12-11 11:14:23

DaaS災(zāi)難恢復(fù)
點贊
收藏

51CTO技術(shù)棧公眾號