国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

尤雨溪再噴 React,這波我要反駁一下

開發(fā) 前端
寫這篇文章,無(wú)意去過(guò)度爭(zhēng)論 Vue 和 React 到底誰(shuí)更好,因?yàn)樵趯?shí)際場(chǎng)景中做技術(shù)選型,要考慮的因素還包括技術(shù)之外的東西,這些外因甚至比技術(shù)本身更加重要。比如,我一直想去的那個(gè)團(tuán)隊(duì),用的是 React,這樣的理由,更加能左右一個(gè)人的決定。

這兩天幾個(gè)群都在傳尤大噴 React 文檔的截圖,并且引起了熱烈的討論。然后就有人在問(wèn),是不是 React 真的那么坑。

作為一個(gè) React 深度使用者,覺得不應(yīng)該讓新學(xué) React 的朋友留下這樣一個(gè)刻板印象,所以我結(jié)合自身對(duì)于 React 的使用體驗(yàn),反駁一下他的觀點(diǎn)。

看一下尤大是怎么噴的。先是有個(gè)人發(fā)文吹了一波 React 新官網(wǎng)寫得很用心。

然后尤大不知道為什么怨念會(huì)這么深,就說(shuō) React 挖下了許多艱深復(fù)雜的坑,用了夸張的手法來(lái)特意強(qiáng)調(diào)了這些坑的嚴(yán)重性。甚至用了 PUA 這樣的詞來(lái)刻意強(qiáng)調(diào)自己的觀點(diǎn)。

然后又說(shuō):React 最成功的地方在于塑造了一種幾近于 cult 的凝聚力...

好巧不巧,我剛好認(rèn)識(shí)這個(gè)單詞...

cult:邪教

如果我說(shuō)尤大有點(diǎn)上頭、激進(jìn)、極端,這應(yīng)該不算是夸張的評(píng)價(jià)吧?我記得他以前說(shuō)國(guó)內(nèi)噴子多,技術(shù)氛圍沒有國(guó)外好,他這是在干嘛?說(shuō) React 用戶是邪教、是被 PUA,這不算噴人嗎?

一、截圖中的案例

首先跟大家明確一下,截圖中的案例,完全不是 React 的坑點(diǎn)。而應(yīng)該算是 React 的優(yōu)點(diǎn)之一。

因?yàn)楫?dāng) React 中的狀態(tài)發(fā)生變化時(shí),會(huì)導(dǎo)致組件函數(shù)重新執(zhí)行。因此,當(dāng)我們需要一個(gè)計(jì)算屬性時(shí),不用做特別的處理和定義,正常使用即可。

function Form() {
  const [firstName, setFirstName] = useState('Taylor');
  const [lastName, setLastName] = useState('Swift');
  // ? Good: calculated during rendering
  const fullName = firstName + ' ' + lastName;
  // ...
}

例如使用 useEffect 去監(jiān)聽 state,這是冗余的操作。然后給出了錯(cuò)誤示范。

function Form() {
  const [firstName, setFirstName] = useState('Taylor');
  const [lastName, setLastName] = useState('Swift');

  // ?? Avoid: redundant state and unnecessary Effect
  const [fullName, setFullName] = useState('');
  useEffect(() => {
    setFullName(firstName + ' ' + lastName);
  }, [firstName, lastName]);
  // ...
}

所以這里只是列舉出來(lái)部分使用者的錯(cuò)誤示范而已,壓根算不上是一個(gè)坑點(diǎn)。如果這也算坑點(diǎn),我可以在別的框架使用者的代碼里找到一大堆錯(cuò)誤示范,相互攻擊就完事了,對(duì)不?

二、React 弱侵入性

React 始終保持了對(duì) JavaScript 的弱侵入性。我認(rèn)為這是一個(gè)非常大的優(yōu)點(diǎn)。也就是說(shuō),當(dāng)你使用 React 開發(fā)時(shí),實(shí)際上用到的語(yǔ)法相對(duì)比較少,就算是你學(xué)習(xí) React 也不會(huì)接觸到太多的官方 API。

弱侵入性帶來(lái)的一個(gè)巨大的好處是,我們?cè)陂_發(fā)時(shí)可以順利植入我自己的開發(fā)理念。比如,你覺得 React 沒有做依賴收集,是不好的,那么你就可以寫一個(gè)狀態(tài)管理去做依賴收集。Mobx 就是做這個(gè)事情的。

又或者,你覺得 React 提供的全局狀態(tài)管理不如你的心意,你就可以自己封裝一個(gè)發(fā)布訂閱,結(jié)合自定義 hook 也能方便的訂閱每一個(gè)組件。

這樣的自由度一定是會(huì)受到 React 深度使用者歡迎的。這也是 React 生態(tài)百花齊放的原因之一。不知道別人會(huì)怎么樣,但是我覺得我作為開發(fā)者,我非常喜歡多種開發(fā)思想相互碰撞的氛圍。

三、閉包陷阱?

有的人覺得閉包陷阱是一個(gè)坑。

實(shí)際上,這個(gè)所謂的閉包陷阱這個(gè)詞,不應(yīng)該與 React 綁定在一起。因?yàn)殚]包本身就是 JS 自身的特性。就算沒有 React,許多人也覺得閉包難以理解。而且作為前端開發(fā),我覺得應(yīng)該做的事情是去掌握閉包的機(jī)制和邏輯,而不是覺得閉包這個(gè)東西我理解不了,就認(rèn)為它不好。

閉包的特性讓 JS 的能力變得非常強(qiáng)大,甚至你很多時(shí)候也在不知不覺中利用閉包來(lái)達(dá)到你的目的。許多別的開發(fā)語(yǔ)言中,也引入了閉包的機(jī)制,說(shuō)明閉包是經(jīng)歷過(guò)時(shí)間沉淀的方案。

如果一個(gè)知識(shí)點(diǎn),理解起來(lái)比較困難,然后我們就給他戴上心智負(fù)擔(dān)重的帽子,然后把他作為一個(gè)缺點(diǎn)去不斷批評(píng)他,這算是正常的想法嗎?

四、性能不好?

Vue 重依賴收集,輕/無(wú) UI diff.

React 無(wú)依賴收集, 重 UI diff.

也就是說(shuō),當(dāng) Vue 的數(shù)據(jù)變得龐大和復(fù)雜,他依然會(huì)有不小的性能壓力。因此 Vue 的性能優(yōu)化策略應(yīng)該是集中在如何簡(jiǎn)化數(shù)據(jù)結(jié)構(gòu)上。而 React 的優(yōu)化重點(diǎn),在如何減輕 diff 壓力上。

誰(shuí)也不能否認(rèn),有人能合理利用 React 的機(jī)制,編寫出來(lái)一套性能比 Vue 更好的項(xiàng)目。只是說(shuō),做到這個(gè)事情對(duì)于 React 新玩家來(lái)說(shuō),有點(diǎn)困難而已。

Vue 均衡性能更好,React 性能上限更高。既然各有優(yōu)劣,他只是一個(gè)不同人群的取舍問(wèn)題,但你絕對(duì)不能說(shuō),這是 React 艱深復(fù)雜的坑點(diǎn)。

五、新手友好?

尤大一直以框架對(duì)新手友好作為一個(gè)重要的判斷標(biāo)準(zhǔn)來(lái)證明一個(gè)框架是否優(yōu)秀。但是捫心自問(wèn),各位前端開發(fā)們,你們真的會(huì)一直認(rèn)為一門技術(shù)對(duì)新手友好,就一定是更好的嗎?

我們?cè)谌豪飳?shí)際上還有另外一個(gè)觀點(diǎn)。

當(dāng)你還是新人的時(shí)候,你希望你學(xué)的東西簡(jiǎn)單,能快速上手。但是當(dāng)你學(xué)成之后,你又擔(dān)心他太簡(jiǎn)單,會(huì)的人太多,自己毫無(wú)競(jìng)爭(zhēng)力。

我猜測(cè)許多人的心態(tài),會(huì)經(jīng)歷這樣的變化。所以我遇到很多 Vue 開發(fā)者,在使用了幾年 Vue 之后,也會(huì)有很強(qiáng)烈的想法學(xué)習(xí)一下 React

實(shí)際上,在我看來(lái),當(dāng)我們技術(shù)能力逐漸變得更強(qiáng),我掌握的技術(shù),能夠支撐起更高的上限,這也是一門框架不可忽視的巨大優(yōu)勢(shì)。在兩者之間取得一個(gè)平衡,我認(rèn)為這一點(diǎn)上,React 比 Vue 要做的好。

我們不能因?yàn)閷?duì)新手友好,就忽略了 React 上限更高這個(gè)事實(shí)。而且事實(shí)上,現(xiàn)在已經(jīng)有同學(xué)認(rèn)為, Vue3 的學(xué)習(xí)成本,已經(jīng)高于 react hooks。

六、Vue3 的破壞性更新

尤大說(shuō),Vue3 的破壞性更新,是他們團(tuán)隊(duì)犯的錯(cuò)誤。但真的是決策失誤嗎?

我看未必。因?yàn)槟悴坏貌怀姓J(rèn),事實(shí)上,你單看 Vue2 你就知道,Vue3 的出現(xiàn),更多的是被逼無(wú)奈。

有兩個(gè)重要因素導(dǎo)致了 Vue2 承擔(dān)了巨大的壓力。

一個(gè)因素是 TS 被廣泛接納。導(dǎo)致了 Vue2 不支持 TS 成為了一個(gè)無(wú)法被反駁的缺陷。即使是現(xiàn)在的 Vue3,也依然有人覺得它對(duì) TS 的支持并沒有做到盡善盡美。

另外一個(gè)就是 React hooks 的出現(xiàn),讓 Vue2 的差距被明顯拉開。所以你才會(huì)看到新的 Vue 語(yǔ)法,從某種程度上,跟 React hooks 長(zhǎng)得很相似。

這兩個(gè)因素組合在一起,催生了 Vue3 長(zhǎng)成現(xiàn)在的樣子。

然而破壞性更新是有代價(jià)。現(xiàn)在依然有大量的團(tuán)隊(duì)無(wú)法成功把項(xiàng)目從 Vue2 升級(jí)到 Vue3,這才是極大的坑點(diǎn)。

六、最后

寫這篇文章,無(wú)意去過(guò)度爭(zhēng)論 Vue 和 React 到底誰(shuí)更好,因?yàn)樵趯?shí)際場(chǎng)景中做技術(shù)選型,要考慮的因素還包括技術(shù)之外的東西,這些外因甚至比技術(shù)本身更加重要。比如,我一直想去的那個(gè)團(tuán)隊(duì),用的是 React,這樣的理由,更加能左右一個(gè)人的決定。

主要的目的是不希望被很多人認(rèn)為,React 像尤大說(shuō)的那樣,真的有很多艱深復(fù)雜的坑,我不認(rèn)同這樣的說(shuō)法。也不希望吹一下 React 就被當(dāng)成邪教。我覺得好的東西,夸一下這是很正常的事情。

責(zé)任編輯:姜華 來(lái)源: 這波能反殺
相關(guān)推薦

2024-03-06 07:28:23

Vue前端開發(fā)Vapor 模式

2023-07-26 08:34:40

VueReact

2025-09-29 00:00:00

2025-10-29 01:00:00

2023-10-06 09:43:13

2022-09-08 16:31:17

前端Web

2025-06-03 08:49:42

2023-11-22 10:12:43

Sortablejs拖拽庫(kù)

2025-06-23 11:35:29

VormsVue 3代碼

2025-06-18 10:02:06

H3前端開發(fā)

2024-10-09 14:07:05

2025-05-06 13:44:17

Vue前端人工智能

2018-12-13 12:13:04

前端開發(fā)編程

2025-05-06 03:30:00

AIVueVite

2024-05-30 07:07:00

Virtual虛擬 DOM前端

2025-12-04 17:46:01

Vite 8Rolldown前端

2025-10-29 16:13:54

2021-08-19 06:20:32

Native CSS 前端尤雨溪

2025-12-12 13:00:00

VueVue3流式渲染

2023-12-20 15:41:46

VueViteVue 3
點(diǎn)贊
收藏

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

成人综合婷婷国产精品久久| 2020国产精品久久精品美国| 久久999免费视频| 欧美精品hd| 国产精品久久久久四虎| 亚洲v国产v| 亚洲小说欧美另类婷婷| 欧洲永久精品大片ww免费漫画| 2018av在线| 日韩一区二区三区免费看| 日本又骚又刺激的视频在线观看| 中文字幕一区av| 999精品网站| av在线播放不卡| 国产一二三在线视频| 精品一区二区三区久久| 秋霞毛片久久久久久久久| 日韩一区二区久久| 久久99影院| 国产一区导航| 国外成人免费视频| 亚洲大黄网站| 麻豆av福利av久久av| 免费视频一区| 天堂一区二区三区| 麻豆久久久久久久| 亚洲欧美久久久久一区二区三区| 久久精品毛片| 中文字幕中文字幕99| 国模一区二区三区白浆| 成年人视频大全| 99久久免费精品| 国产嫩草在线观看| 亚洲精品成人在线| 精品剧情v国产在线观看| 亚洲综合久久av| 最新中文字幕在线视频| 丰满岳妇乱一区二区三区| 色就是色亚洲色图| 欧美性受极品xxxx喷水| 黄色的网站在线观看| 亚洲国产精品一区二区久| 综合在线影院| 欧美夫妻性视频| 精品视频久久| 在线免费看av| 亚洲成人免费网站| 综合视频一区| 欧美精品久久久久久久免费观看 | 天天综合日日夜夜精品| 欧美网站免费观看| 中文字幕免费不卡| 福利片在线免费观看| 精品久久久久久中文字幕一区奶水 | 国产精品高清免费在线观看| 精品国产午夜| 成人av免费在线看| 奇米一区二区三区av| www.日本在线视频| 一区二区久久久久| 国产精品久久久久久福利| 亚洲人成在线观| 亚洲尤物av| 欧美在线3区| 久久久久久一二三区| 日本不卡视频一区二区| 欧美xxxx老人做受| 北条麻妃一区二区三区在线| 动漫一区二区在线| 91在线视频网址| 国产精品视频二区三区| 一区二区福利视频| 天天超碰亚洲| 日韩一级片免费视频| 亚洲成人综合在线| 欧美aaa大片视频一二区| 国产精品情侣自拍| 国产麻豆精品视频| 在线的色视频| 综合欧美国产视频二区| 国产精品a久久久久| 国产免费人做人爱午夜视频| 色哟哟欧美精品| 综合久久av| 精品国产一区二区三区久久久久久| 久久久久久夜精品精品免费| 青青在线视频| 亚洲一区二区三区毛片| 2017欧美狠狠色| 日韩专区av| 国产精品露脸自拍| www激情久久| 亚洲第一页在线| 传媒在线观看| 黄色福利视频网站| 久久亚洲捆绑美女| 中文字幕亚洲专区| 蜜桃久久久久| 亚洲成人18| 一区二区三区国产豹纹内裤在线| 91社区在线观看播放| 韩国一区二区电影| 久久爱www久久做| 亚洲人成小说网站色在线| 日本24小时在线高清视频| 中日韩午夜理伦电影免费| 亚洲一级一区| 欧美jiizzhd精品欧美| 自拍偷拍亚洲在线| 欧美性色综合| 成人高清免费| 日韩中文综合网| 免费在线成人| 超碰在线免费看| 欧美大片免费观看| 免费av成人在线| 久青青在线观看视频国产| 国内精品久久久久久久久| 老司机精品视频网站| 亚洲字幕成人中文在线观看| 欧美一区二区.| 久久天天做天天爱综合色| 国产福利电影在线播放| 97se视频在线观看| 亚洲国产综合在线| 奇米777国产一区国产二区| 毛片av免费在线观看| 色香阁99久久精品久久久| 久久精品国产久精国产爱| 99久久精品免费观看国产| 国产91一区二区三区| 色综合久久久久久久久| 婷婷久久综合| 免费理论片在线观看播放老| 国产乱人伦真实精品视频| 一区二区三区四区不卡视频| 狠狠一区二区三区| 色诱视频在线观看| 欧美成人精品在线视频| 99精品久久99久久久久| 国产精品一区二区三区www| 日韩av在线第一页| 久久综合久久美利坚合众国| www国产成人| 999精品视频在这里| 欧美大尺度做爰床戏| 2019亚洲男人天堂| 一区二区三区在线视频免费观看| 亚洲激情播播| 未来日记在线观看| 成人av片网址| 欧美一级高清片| 日本成人在线不卡视频| 这里有精品可以观看| 国产www免费| 欧美激情区在线播放| 中文字幕av一区二区三区高| 久久99视频| 成人高清网站| 一区二区三区视频| 国产亚洲精品久久久久动| 久久久美女毛片| 五月国产精品| 免费在线视频你懂得| 久久综合福利| 亚洲日本欧美日韩高观看| 91麻豆精品视频| 久久av免费看| 亚洲成人影院麻豆| 神马午夜伦理影院| 91国在线精品国内播放| 色综合久久88色综合天天免费| 亚洲专区一区| 午夜不卡一区| 最美情侣韩剧在线播放| 欧美自拍资源在线| 久久久精品一区二区| 亚洲愉拍自拍另类高清精品| 亚洲午夜在线| 日韩av首页| 国内精品卡一卡二卡三新区| 欧美日韩精品免费看| 国产亚洲综合久久| 亚洲人成影院在线观看| 国产欧美大片| 精品中文在线| 在线激情小视频| 精品视频一区二区在线| 91一区二区三区| 亚洲欧美日韩精品| 亚洲色图第一区| 日韩av中文字幕一区二区三区| 欧美区一区二区| chinese少妇国语对白| 国产亚洲成aⅴ人片在线观看| 日韩成人伦理电影在线观看| 国产精品久久久久aaaa| 2019中文在线观看| 老司机午夜在线视频| 久久99久国产精品黄毛片色诱|