太失望了!前端社區(qū)對(duì) React 的抱怨越來越多...
在前端技術(shù)快速發(fā)展的今天,React 已經(jīng)有 589 天沒有發(fā)布新版本了(最新版本為v18.2)。React 團(tuán)隊(duì)表示,目前正在開發(fā) v19 版本,并且沒有計(jì)劃發(fā)布 v18.3 版本。
圖片
近期,React 社區(qū)的抱怨情緒愈發(fā)高漲,多名成員對(duì) React 的現(xiàn)狀表示不滿。下面就來看看他們對(duì) React 的看法!
TanStack 作者:需要回歸實(shí)用性
前端工具鏈 TanStack 作者 Tanner Linsley 在社交平臺(tái)表示:
自 React 引入 hooks 和 Suspense API 以來,它似乎過于執(zhí)著于少數(shù)幾個(gè)概念。雖然這些新特性在技術(shù)上令人印象深刻,但它們?cè)谌粘9ぷ髦胁⑽磶硖蟮膸椭?,反而使相同的任?wù)變得更加復(fù)雜,并且還需要我們繞過那些尚未成熟的實(shí)驗(yàn)性API。
真心希望 React 能夠回歸到最初那種以客戶端為中心、關(guān)注性能的實(shí)用性。如今,其他框架正在實(shí)現(xiàn)這些功能,而 React 卻落后了。
盡管 React Forget 重新激發(fā)了我對(duì) React 的熱情,但這可能只是對(duì)新特性的追求,而非對(duì)根本問題的解決。真心希望能夠更關(guān)注響應(yīng)性,而不是一味地追求不變性。無論通過何種方式,包括 signal 等,都希望 React 能夠真正解決這個(gè)問題。然而,這個(gè)需求似乎被長(zhǎng)期忽視了,這讓我感到有些失望。
盡管如此,我仍然經(jīng)常使用React,但我對(duì)其的不滿情緒正在逐漸增加。
總結(jié):React 引入的新特性增加了復(fù)雜性,希望它能回歸最初關(guān)注性能和實(shí)用性的狀態(tài)。
contendaco 首席技術(shù)官:太久沒更新了
contendaco 的首席技術(shù)官 Cassidy 在社交平臺(tái)表示:
我對(duì) React 近期的狀態(tài)感到困惑和沮喪。盡管我仍然經(jīng)常使用它,并對(duì)持續(xù)為之努力的開發(fā)者抱有敬意,但 React 變得越來越令人費(fèi)解...
令我深感失望的是,自 2022 年 6 月以來,React 一直未發(fā)布新版本。在 React 18 推出時(shí),核心團(tuán)隊(duì)大力推崇框架的重要性,但隨后大部分成員離職,轉(zhuǎn)投另一家擁有大型 React 框架的公司。
此外,新文檔的編寫進(jìn)度緩慢,編寫人員也缺乏足夠的支持。如今,當(dāng)你在網(wǎng)絡(luò)上搜索“React文檔”時(shí),新的文檔甚至無法排在首位。這無疑增加了學(xué)習(xí)和使用 React 的難度。
更令人困惑的是,現(xiàn)在存在兩個(gè) React 版本,這無疑增加了理解和使用的復(fù)雜性。對(duì)于大多數(shù)人來說,這并不是一個(gè)清晰或易于理解的概念。
最后,我感到失望的是,React 領(lǐng)導(dǎo)層在多樣性方面的努力明顯不足。曾經(jīng)有多種聲音的社區(qū),現(xiàn)在卻鮮少聽到不同背景的人們發(fā)聲。
總之,我并是不想寫一篇消極的文章。雖然我過去曾批評(píng) React 團(tuán)隊(duì),但我也看到他們做出了一些改進(jìn)。當(dāng)我想構(gòu)建稍微復(fù)雜的應(yīng)用時(shí),我仍然會(huì)選擇使用 React。然而,我希望在執(zhí)行這個(gè)選擇時(shí)能夠更加開心一些。我對(duì) React 的未來保持樂觀,盡管這種樂觀有點(diǎn)勉強(qiáng)。
總結(jié):React 長(zhǎng)時(shí)間不更新令人失望,新版本缺失、文檔不足、版本混淆、多樣性不足。盡管仍會(huì)選擇使用,但希望 React 能回歸初心。
Val Town 作者:發(fā)布策略需要改進(jìn)
Val Town 的作者 Tom MacWright 表示:
相較于許多人,我更傾向于為 React 辯護(hù),盡管我深知它并非萬能的。在我看來,React 在解決許多問題時(shí)展現(xiàn)出了獨(dú)特的優(yōu)勢(shì),其團(tuán)隊(duì)的初衷是積極和值得肯定的。盡管過度使用和存在一些缺陷,但我堅(jiān)信他們并無惡意。
然而,當(dāng)前 React 的發(fā)布狀態(tài)確實(shí)令人擔(dān)憂,自上次發(fā)布以來,已經(jīng)過去了一年半的時(shí)間,這比以往任何一次發(fā)布周期都要長(zhǎng)。目前存在兩個(gè)主要的競(jìng)爭(zhēng)框架:由 Shopify 資助的 Remix 和由 Vercel 資助的 Next.js。值得注意的是,Vercel 已經(jīng)聘請(qǐng)了 React 團(tuán)隊(duì)的許多核心成員。
Next.js 正在大量使用和推廣下一個(gè)版本的特性。他們使用一種技巧,將下一個(gè)版本的 React 打包進(jìn)來,并讓你覺得你正在使用 React 18.2.0,但實(shí)際上使用的是一個(gè)預(yù)覽版本。這些“預(yù)覽版本”也被 Meta 公司用于增量升級(jí),而其他 React 核心開發(fā)人員也在 Meta 工作。
然而,非 Vercel 和非 Facebook 的生態(tài)系統(tǒng)并沒有享受到這種優(yōu)勢(shì)。Remix受到了React中的一個(gè)錯(cuò)誤的影響,這個(gè)錯(cuò)誤雖然已經(jīng)得到修復(fù),但尚未發(fā)布。想要使用 React 18.3.0 預(yù)覽版本,就不得不使用 npm install --force 或在 package.json 文件中進(jìn)行覆蓋,以將所有內(nèi)容綁定在一起。
使用預(yù)覽版本長(zhǎng)達(dá)一年半之久,然后再進(jìn)行一次大規(guī)模升級(jí)到 React 19.0.0,這種策略我并不喜歡。雖然存在一些變通方法可以使用當(dāng)前的預(yù)覽版React,但這些方法都存在問題。預(yù)覽版并不穩(wěn)定,可能會(huì)包含一些破壞性的更改。總的來說,這種情況給人的印象是,Vercel 通過將部分 React 團(tuán)隊(duì)成員納入公司內(nèi)部,從而獲得了一年不公平的領(lǐng)先優(yōu)勢(shì)。
總結(jié):對(duì) React 近期狀態(tài)表示擔(dān)憂,包括發(fā)布周期過長(zhǎng)、存在競(jìng)爭(zhēng)框架等問題,希望 React 能改進(jìn)發(fā)布策略。
小結(jié)
總的來說,React 面臨著多方面的挑戰(zhàn)和問題,如過長(zhǎng)的發(fā)布周期、與新興競(jìng)爭(zhēng)框架的競(jìng)爭(zhēng)、新版本的缺失以及文檔的不足等。希望 React 團(tuán)隊(duì)能夠重視這些問題,并積極采取措施解決它們。例如,優(yōu)化發(fā)布策略,加快新版本的發(fā)布速度;注重性能和實(shí)用性,使 React 更易于使用和部署;加強(qiáng)文檔的編寫和更新,提供更全面、準(zhǔn)確的信息等。只有解決這些問題,React 才能更好地滿足開發(fā)者的需求,保持其在前端開發(fā)領(lǐng)域的領(lǐng)先地位。