為什麼都在說 React 比 Vue 難?

時間 2021-05-11 15:05:23

1樓:多來b夢

其實二者對於前端來說都不難,ES 基礎掌握了就都能上手寫,但是Vue相比較React來說,在寫企業級專案的時候,對ES基礎要求相對來說還是低一些的,這也是為什麼很多後端語言的程式設計師在需要使用前端框架的時候會首選Vue,但是在Vue3裡,語法和設計思維已經越來越像React了。好的東西其實大家都在互相學習借鑑,本身倆個框架的模式也是差不多的。

2樓:劉先生

沒有真正學過React,反正我從0上手Vue到實際開發也就兩三天,詳細的文件,各種入門小教程,遇到坑也是分分鐘就能找到解決辦法,上了Vue的賊船,現在想學React也沒那麼有動力了。

用Vue做後台開發真心爽,搭頁面速度快得一批,現在自己搞了個快速開發平台,接私活美得很:

老闆要我做乙個1天搭建100個表單和列表的開發平台(1)

3樓:日明

如果是class元件來說我覺得react和vue難度真的相差不大

但是react hooks +ts的函式式程式設計所需要消耗的心智是大於vue的模板語法的

4樓:

——————2月24更新——————

不行了,匿名了,感覺要被噴了。

我是乙個喜歡d3.js,喜歡Slate.js的小白,喜歡自由,喜歡創造,偶爾也喜歡開箱即用偷偷懶。

側面表達出的,對vue的偏見言論,望大家輕噴。

——————以下原文——————

React和Vue。

難點大概在:程式設計師不僅僅要學習React的核心思想,還要學會熟練使用社群工具。並且在這其中找到適合自己的解決方案。

優點可能是:基於強大的組合模式,可以把各個子功能拆開,針對每個子功能可以極其深入下去。

缺點可能是:如果不擅長JS,不擅長工程化工具的使用,基礎知識:不牢靠的話,那麼可能學起來會很痛苦。簡而言之:對使用者的工程能力有要求。

Vue是確定了一套比較完成的開發過程,因為封裝了太多底層細節,導致靈活性不比React。

因為幫程式設計師做了很多很多前期準備工作,開箱即用,因此幾乎沒啥難點了。比如過渡效果,提供著對應的語法。不像React要去社群尋找各種第三方庫。

優點可能是:得益於完善的語法級文件,易學易用,甚至可以不用學太多JS語法,入門門檻極低。

缺點可能是:程式設計師的想法會受到限制,自由度受限制。

考慮到業內的浮躁氛圍,小白連連文件都不看就硬上,通過webpack、react構建程式,這無疑是痛苦迴圈。這種時候,Vue對於小白就是救星。

綜上所述

React和Vue,術業有專攻。

React著重解決最核心的資料驅動檢視,別的功能則選擇借助社群的力量,允許大家自由的創造,比如基於React的slate、spring就是很棒的第三方庫。React掌握好了,可以自由創造,無拘無束。

Vue著重提供一套優異的開發架構流程,因為它在易學易用、開箱即用、流程固定、結構固定的基礎上,依舊保持著一定的定製性,即可以使用普遍認可的實踐方案,也可以擁抱變化。

5樓:大魚

Vue 和 React 兩者之間的選擇並不像選擇蘋果或香蕉一樣簡單,兩者在工程實踐上的差距讓我們逐漸放棄了 Vue。具體了解React與Vue的區別可以看看這篇文章https://

markdowner.net/article/

79319258450055168

6樓:muwoo

看了一下很多的回答,說的都差不多了。我再來提一點吧,Vue得利於其 template 模版語法,可以在編譯時做很多 React 要花很大力氣才能做到的事情,比如:

在 React 應用中,當某個元件的狀態發生變化時,它會以該元件為根,重新渲染整個元件子樹。如要避免不必要的子元件的重渲染,你需要在所有可能的地方使用 PureComponent,或是手動實現 shouldComponentUpdate 方法。同時你可能會需要使用不可變的資料結構來使得你的元件更容易被優化。

然而,使用 PureComponent 和 shouldComponentUpdate 時,需要保證該元件的整個子樹的渲染輸出都是由該元件的 props 所決定的。如果不符合這個情況,那麼此類優化就會導致難以察覺的渲染結果不一致。這使得 React 中的元件優化伴隨著相當的心智負擔。

在 Vue 應用中,元件的依賴是在渲染過程中自動追蹤的,所以系統能精確知曉哪個元件確實需要被重渲染。你可以理解為每乙個元件都已經自動獲得了 shouldComponentUpdate,並且沒有上述的子樹問題限制。Vue 的這個特點使得開發者不再需要考慮此類優化,從而能夠更好地專注於應用本身。

在 Vue3 中,Block Tree 和 PatchFlags 便是充分利用編譯資訊並在 Diff 階段所做的優化。諸如此類,Vue 很輕鬆的降低使用者門檻。React 雖不可否認提供了很多很前言的創造性思想,比如 Time Slicing、Fiber、Hooks 等等...

對於新手來說,確實理解成本上會有一定限制。

7樓:蒜頭君

難不難主要在於這個工具是否能快速直觀地解決業餘人員的業務需求。典型問題就是,如果你是乙個後端,你會選擇Vue還是React來解決你的後台資料展示需求。

Vue的成功在於它實在夠簡單,當初就只是jquery的替代品。

8樓:深藍

React對比Vue來說,Vue的學習成本更低,更容易入手,模版語法開發起來個人覺得會比React的Jsx更快。

,當應用比較龐大的時候,這一點的優化比較重要。推薦大應用使用React。

9樓:Raven

作為乙個同時學react和vue的新手我說說我的感覺

也不是說React比較難,就是React僅僅只是提供乙個專案框架和思想給你,其餘的功能任由自己發揮。而相比之下Vue什麼都給你提供了,你要實現功能很多都能直接找到API

React給你感覺就是什麼事情都只給你做一半,剩下一半自己想,所以剛開始學會讓人很迷茫。。。

10樓:redblue

簡單就React,難就Angular,Vue在中間對我來說有點奇怪

而且因為小程式的原因,對整個Vue系都有種牴觸~

但是架不住招聘裡基本要Vue

11樓:Mark Stock

好的框架可以讓開發者以固定的模式開發業務,但是對於大型應用或者超大型應用還是得應用設計模式,函式式程式設計等各種程式設計模型。如果只是開發簡單的應用,react和vue都可以輕鬆勝任,即便是對於初級的工程師。

但是大型或者超大型應用,此時更加靈活的react是更好的選擇。元件以及hooks的思維很容易可以去對業務進行結偶和重組,周邊生態也有很多選擇性,工程師可以根據不同場景選擇不同的工具以及模式。當然這對工程師的要求會很高。

很多人覺得react難,可能是還抱有前端就是做渲染頁面的這種思維,一旦應用的複雜度變的很高的時候,認知和知識儲備就跟不上了,所以應用越寫越難維護,到後面甚至都不知道自己寫的是什麼。

12樓:飛奔星球

對react一生黑,元件庫的文件都打不開,每次用都要刷半天,難道是現在連維護文件的人都沒有了?僅此這一點,和vue不知差幾條街,實在太難用了!

13樓:

因為 react 本身做的太少了, vue 只看官方文件基本能滿足使用, react 還得額外看一堆東西,別人的最佳實踐等等

14樓:大明爺

後台大佬:我會vue,所以我是全棧。

用了react +ts,「臥槽現在前端都這個樣子了,這個跟某某某語言一模一樣啊,算了我還是用vue吧」

15樓:斯杜莫澤

因為jsx和函式式的模式。所以react中充滿了高階元件,就是把元件作為引數並返回另乙個元件,vue的比較開放,強大的template功能讓這一切變得容易,你不需要考慮很多,也能得到純元件的應用,並且deep演算法可是o(n)級別的

16樓:

是否有這麼一種可能:React 剛出來帶了太多革命性的新概念,導致學習曲線陡峭。但是經過這麼多年的發展,React 所帶來的的新概念都已深入人心,以當前(2023年)來看,我覺得 React 並不會比 Vue 難。

最近學習 Vue,的確上手挺快,但是真正用起來需要了解的概念和需要記住的用法真是太多了,我太難了!

17樓:行甫

我所在的公司前端選的是vue,但我也用過react做過兩個私活。

給我的感覺就是,這二者都很好學,都非常容易上手,只是二者的設計思想有點區別,至少比用原生實現要方便和可控。例如乙個簡單的tab切換,用原生,react或者vue去實現,都是基於他們自身所匹配的設計思想。這就有三種不一樣的設計思想,相比原生的設計思想,react和vue甚至更相似,有很多共通的地方。

很好奇覺得react比vue難的人,他們是如何學習的,能自己造輪子解決前端問題不,有木有可能是this指向都理不清的未入門新手?

18樓:

react就像單反,vue就像傻瓜相機。

很多開發者,尤其是後端開發者,習慣了mvc那一套,對最佳實踐、系統性設計不感冒,他們真正想要的,是模板引擎這一類

19樓:Pride Yang

我倒是有乙個觀點,那就是選擇問題 。有時候選擇太多不是件什麼好事。當所有都固定了,那也就意味著,我這樣這就對了,至於為什麼這樣寫,我可以先不知道。要是深入了解,我估計都不會簡單

20樓:西門吹牛

哈哈,難與不難只在一念之間。

不想從技術的角度分析,為什麼難?覺得沒什麼很大的意義吧。其實對於乙個語言,框架,類庫的掌握。就看你處於什麼層次了。

如果你只是為了怎麼使用。可能你會從難不難的角度思考如果你站在兩者的區別的角度考慮,可能你會問這兩者設計理念的區別,優勢,劣勢,分析他們的實現。透過現象看本質,自然就不難了。

所以看本質很重要,設計,思維,架構,這些角度去理解,你就能看透很多。

計算機萬變不如其中,搞懂底層的原理,基礎它是了。很多東西自然就簡單,一眼就能看透。

21樓:楊健

Hooks && Suspense 有什麼難理解的,不就是特殊的algebraic effects 嗎?(vjeux的吐槽,哈哈哈)

22樓:北冥

對我來說就是vue有vue-cli可以乙個命令配置乙個可以開發的專案,而react的全家桶太難用了,webpack老變,好多東西版本一變就報錯,還不好解決,所以我使用vue

為什麼 react 還比 vue 火?

Lam 其實我覺得,存在即合理,在React和Vue的選型上已經爭論那麼多年了,其實框架或者技術的選中除了不同的場景外,還要看使用的團隊情況綜合考慮的,例如你做乙個後台系統,後續可能需要後端幫忙一起的開發維護的,這個時候你選擇react,那麼對後端來說或許不是最友好的,因為現在的後端基本都會使用一下...

vue轉react是什麼感受?

HDDDDD 對比的話可以看這篇高讚文章 為什麼我們放棄了 Vue?Vue 和 React 深度對比想從 Vue 轉 React 可以看看這篇如下門 Vue 轉 React 指南,看這篇文章就夠了 陳侃 低階程式設計師關心框架。多思考vue,react他們在各種場景下的差異點,解決問題的思路 架構。...

React文件數量比Vue多那麼多,文件中還充斥著各種警告和注意,是否可以說明React比Vue難呢?

react學習上的難度在,各種實現類似功能的實踐多,新手不容易快速找到最佳實踐,vue vuerouter vuex可以實現大部分專案了,但是react的又是flux又是redux又是immutuble immer flux toolkit等,讓新手寫的時候不容易找到最佳實踐。但是jsx react...