大家好,我卡頌。
最近尤大的一個(gè)推文引起了不小熱議,大概經(jīng)過(guò)是:
尤大在推上的發(fā)言一直比較耿直,這次又涉及到React這個(gè)老對(duì)手,關(guān)注度自然不低。
再加上國(guó)內(nèi)前端自媒體的一波引導(dǎo)發(fā)酵,比如知乎下這個(gè)話題相關(guān)的問(wèn)題中的措辭是「怒噴」,懂得都懂。
在這樣氛圍與二手信源的影響下,會(huì)給人一種「大佬都親手下場(chǎng)撕了」的感覺(jué),自然會(huì)引來(lái)React、Vue各自擁躉的一番激烈討論。
年年都是一樣的套路,毫無(wú)新意......
面對(duì)這樣的爭(zhēng)吵,我們應(yīng)該做什么呢?
首先,回到源頭本身,尤大diss的有道理么?有。
React的心智負(fù)擔(dān)重么?確實(shí)重。比如useEffec這個(gè)API,你能想象文檔中一個(gè)章節(jié)居然有6篇文章是教你如何正確使用useEffec的么?
造成這一現(xiàn)象的原因有很多,比如:
當(dāng)我們繼續(xù)往前回溯,「Hooks必須顯式聲明依賴」是「React更新機(jī)制」決定的,而「React更新機(jī)制」又是React實(shí)現(xiàn)原理的核心。
本質(zhì)來(lái)說(shuō),還是React既往的成功、龐大的社區(qū)生態(tài)讓他積重難返,無(wú)法從底層重寫(xiě)。
這是歷史必然的進(jìn)程,如果Vue所有新特性都在Vue2基礎(chǔ)上迭代(而不是完全重寫(xiě)的Vue3),我相信也是同樣的局面。
所以,當(dāng)前React的迭代方向是 —— 支持上層框架(比如Next.js、Remix),寄希望于靠這些框架的封裝能力彌補(bǔ)React自身心智負(fù)擔(dān)重的缺點(diǎn)。這個(gè)策略顯然也是成功的。
回到這次爭(zhēng)吵本身,尤大不知道React文檔為什么要花大篇幅幫開(kāi)發(fā)者避坑(以及背后反映的積重難返)么?他顯然是知道的。
他如此回復(fù)是因?yàn)樗幍奈恢檬恰缚蚣茏髡摺梗琑eact是他的競(jìng)爭(zhēng)對(duì)手。設(shè)想一下,如果你的競(jìng)爭(zhēng)對(duì)手在一些方面確實(shí)不如你,但他的用戶對(duì)此的反應(yīng)不是“太難用了,我要換個(gè)好用的”,而是“一定是我用的姿勢(shì)不對(duì),你快出個(gè)文檔好好教教我”
面對(duì)這樣的用戶,換誰(shuí)都得有一肚子牢騷吧~
讓我們?cè)侔岩暯寝D(zhuǎn)到「React的用戶」(也就是我們這些普通開(kāi)發(fā)者)上。我們?yōu)槭裁催x擇React呢?
可能有些人是處于喜好。但大部分開(kāi)發(fā)者之所以用React,完全是因?yàn)楣疽笥肦eact。
用React的公司多,招React的崗位多,自然選擇React的開(kāi)發(fā)者就多了。
那么為什么用React的公司多呢?這顯然是多年前React在先發(fā)優(yōu)勢(shì)、社區(qū)生態(tài)兩場(chǎng)戰(zhàn)役取勝后得到的結(jié)果。
所以,我們需要尊重兩個(gè)事實(shí):
兩者并不矛盾,他們都是歷史進(jìn)程的產(chǎn)物。
Vue、React之間的討論,即使是從技術(shù)層面出發(fā),最后也容易陷入“React心智負(fù)擔(dān)這么重,你們還甘之如飴,你們React黨是不是傻”這樣的爭(zhēng)吵中。
這顯然就是忽略了歷史的進(jìn)程。
正確的應(yīng)對(duì)方式是多關(guān)心關(guān)心自己未來(lái)的發(fā)展:
本文鏈接:http://www.www897cc.com/showinfo-26-58976-0.html當(dāng)別人因?yàn)镽eact、Vue吵起來(lái)時(shí),我們應(yīng)該做什么
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com
上一篇: Go語(yǔ)言常見(jiàn)錯(cuò)誤—將接口定義在實(shí)現(xiàn)方一側(cè)
下一篇: 詳解Rust編程中的生命周期