首頁  >  文章  >  web前端  >  為什麼每個人都討厭React?

為什麼每個人都討厭React?

DDD
DDD原創
2024-09-19 06:27:02788瀏覽

Why Does Everyone Hate React?

在我們深入討論之前,我有一個嚴肅的問題要問你:為什麼你真的認為人們如此討厭 React?是JSX嗎?無盡的選擇?事實上它的變化比你的 Netflix 推薦更頻繁?我真的很想知道——所以如果你有熱門觀點,請幫我一個忙,並將其放在評論中。說真的,別猶豫。

現在,全面披露:在我之前的一篇文章中,我可能對 React 開了一些玩笑,我們只能說…人們注意到了。所以,請將此視為道歉——但事實並非如此。但是嘿,我是來彌補(某種程度上)的。

React:讓開發者又愛又恨的 JavaScript 函式庫。就像學校裡每個人都在談論的受歡迎的孩子,要嘛是欽佩,要嘛是怨恨。每有人讚揚其基於組件的架構,就會有人抱怨其複雜性。那麼,為什麼每個人似乎都那麼討厭 React呢?

讓我們看看常見的投訴並進行分析。


1. 「React 太複雜了!」

哦,是的,因為以元件的形式編寫 JavaScript 並管理狀態,比學習十幾個不同的框架要困難得多。有人說使用 React 感覺就像是蒙著眼睛解開魔術方塊。如果您不小心,您的 JSX、鉤子、生命週期方法和狀態管理可能會失控。

但是事情真的有那麼複雜嗎?如果您曾經在一個嚴肅的專案中深入研究過原生 JavaScript,您就會知道管理狀態感覺就像嘗試在沒有說明的情況下組裝宜家家具。當然,React 有其學習曲線,但是一旦你掌握了它,事情就會開始順利 - 有點像當你第一次弄清楚如何在程式設計中使用遞歸時。起初,它很令人困惑,然後它就很神奇。

所以,是的,React 需要付出努力,但任何有價值的事情也是如此。


2. 「React 的生態系勢不可擋!」

啊,這是對不斷增長的生態系統的著名抱怨。 React 不僅僅是 React——它是 Redux、React Router、Context API 以及一系列看起來像小魔怪一樣成倍增加的其他工具。當你坐下來開始一個新項目時,感覺就像選擇一個串流媒體服務:我需要 Netflix、HBO 還是迪士尼?在 React 世界中,它更像是,「我需要 Redux,或者我應該嘗試 MobX?我應該使用 React Query 進行狀態管理嗎?最新的 CSS-in-JS 趨勢怎麼樣?」

是的,選擇可能會讓人感到不知所措。但這就是進步的代價。 React 為您提供了建立複雜、可擴展應用程式的工具,但它也將選擇權留給了您。這有點像漫威電影宇宙為你提供了無盡的選擇:從鋼鐵人到汪達幻視,每個人都能找到適合自己的東西。

就 React 而言,生態系統非常龐大,因為開發人員喜歡選擇。您可以像自助餐一樣組裝您的應用程序,只選擇您需要的內容。


3. 「React 不斷變化!」

抱怨 React 不斷更新的開發者數量可能會擠滿一個體育場。他們抱怨當他們習慣了對組件進行分類時,鉤子就隨之而來。但你猜怎麼著?這就是科技發展的方式。

React 的發展並不是一件壞事-它與現代開發需求保持同步。當然,事情會發生變化,是的,當你精心製作的應用程式因為最新的React 版本而突然感覺過時時,這可能會很煩人,但是你難道不想擁有一個創新的庫,而不是一個停滯不前的庫嗎?

就像在權力的遊戲中一樣,每個人都在爭奪鐵王座,React 不斷發展以保持在 JavaScript 框架之爭的頂端。但與節目的結局不同的是,React 實際上會隨著時間的推移而變得更好(不需要龍)。


4. 「JSX 很奇怪!」

對於那些不習慣將 HTML 與 JavaScript 混合的人來說,JSX 讓人感到厭惡。 「為什麼我們要把 HTML 放在 JavaScript 裡?」一些純粹主義者會問。這就像你第一次在披薩上看到菠蘿一樣——一種意想不到的組合,看起來不太對勁。

但是,你嘗試了 JSX,它出乎意料地…有用? JSX 允許您以將所有內容整合在一起的方式建立 UI。乍看之下它並不漂亮,但是一旦你開始使用它,你就會意識到邏輯和 UI 無縫整合是多麼強大。您無需在多個文件和語言之間切換,而是將所有內容集中在一個地方。有什麼理由不愛呢?


5. 「React 需要太多樣化!」

開發人員喜歡簡單性,因此當他們看到 React 需要的設定量(創建元件、管理狀態、使用鉤子和導入庫)時,感覺有點大材小用了。 「為什麼我需要這麼多文件和程式碼行來建立一個簡單的待辦事項清單?」這是一個常見的說法。是的,像 Vue 或 Svelte 這樣的框架可能會用更少的步驟處理類似的任務。但強大的能力帶來了偉大的樣板,對吧?

事實是:React 的冗長不僅僅是多餘的廢話;它為可擴展的東西奠定了基礎。當然,這感覺就像您正在組裝樂高套裝,而您想要的只是一輛玩具車。但是,當您的「簡單的待辦事項清單」變成一個具有您未預見的功能的成熟專案時,您會欣賞這種結構。另外,React 的模組化特性使得從長遠來看更容易維護——就像確保你的樂高死星在添加新零件時不會崩潰。


6. 「React 應用程式可能會變慢!」

儘管大家都在談論效能和虛擬 DOM 魔法,但 React 應用程式有時會讓人感覺遲緩。當元件不必要地重新渲染或狀態管理陷入混亂時,就像拉著手煞車駕駛跑車一樣。你可能會花幾個小時來優化它,尋找渲染錯誤,就像你在玩永無止境的打地鼠遊戲一樣。但是,問題是:為什麼會發生這種情況?

事實是:React 本質上並不慢。大多數時候,這是開發人員的錯誤或濫用其功能。過度重新渲染?這是我們沒有正確處理狀態的責任。內存洩漏?同樣,這通常與管理不善有關。把 React 想像成東尼史塔克的鋼鐵人套裝——如果沒有經過適當訓練的人將其撞到建築物的側面,這不是這套套裝的錯。一旦你掌握了它,性能就會令人驚嘆。而且,說實話,React 提供的優化工具非常豐富——只要知道如何使用它們。


7. 「React 的框架太多了!」

這是React,對吧?只需要學習一個函式庫,對嗎?錯誤的。一旦你深入到 React 生態系統中,你會突然遇到一系列框架:Next.js、Gatsby、Remix 等等。這就像打開一扇門卻發現後面還有十扇門,每扇門都提供不同的東西,而你不知道該選擇哪一扇門。 「我需要伺服器端渲染嗎?靜態網站生成對於我的個人部落格來說是否太過分了?」

事實是:React 周圍有如此多的框架這一事實並不是詛咒——而是因禍得福。 React 夠靈活,可以讓你選擇你需要的。您想要 SEO 友善的伺服器端渲染嗎? Next.js。想要一個極快的靜態站點產生器嗎?蓋茲比是你的人。這就像擁有一把瑞士軍刀:工具的數量可能看起來令人眼花撩亂,但最終,它可以讓您靈活地解決您正在處理的任何問題。沒有人強迫您學習所有內容 - 只需選擇有效的並堅持下去即可。


為什麼 React 值得更多尊重

現實是,大多數人並不討厭React——他們只是對學習曲線感到沮喪。並不是說 Rea​​ct 不好;而是說 Rea​​ct 不好。而是 React 不是一個手持裝置。雖然其他框架可能會用內建的便利設施來滿足您的需求,但React 卻將您拋入深淵並說:「游泳!」當然,一開始它可能看起來令人畏懼,但這就是它的力量所在。 React 不會限制你;它挑戰您理解它的細微差別、其龐大的生態系統及其核心理念。老實說,React 更像是一種緩慢的燃燒,而不是立即的迷戀。

React 從未宣稱自己是最簡單的工具。它不像你的表弟 Vue 那樣樂於助人,他會為你做飯、摺衣服。不,React 更像是一位明智、經驗豐富的導師,他向你展示這扇門,但希望你打開它。 這不是缺陷,而是設計選擇。學習曲線可能很陡峭,但它所帶來的靈活性和強大的功能回報呢?無與倫比。

讓我們給予 React 應有的尊重。它從 2013 年就已經存在了(在科技時代,這實際上是一個永恆的時間)。想想自那時以來出現和消失的趨勢、庫和框架的數量——AngularJS 逐漸消失,jQuery 成為遺跡,無數其他的要么消亡,要么急劇轉變。然而 React 不僅生存了下來,而且蓬勃發展。它不僅停留在周圍,而且還存在。它不斷發展,適應新的開發人員需求,同時保持相同的核心理念。這並不是什麼值得忽視的事情。這是真正非凡事物的標誌。

React 的持久相關性

React 可能不完美,但讓我們承認它的持久力。庫和框架的消亡速度往往和它們的興起一樣快,但 React 比它的祖先更長壽,並且繼續佔據主導地位,即使面對大量更新、更閃亮的競爭對手也是如此。當然,有 Svelte、Solid,甚至 Vue 3,但沒有一個能成功推翻 React 在市場上的主導地位。 React 仍然處於領先地位,從 Facebook 和 Instagram 到 Airbnb 和 Netflix,數以百萬計的網站和應用程式都由它提供支援。

?這值得尊重。它的長期統治並非僥倖。它經過多年的實際使用考驗、完善和加強,同時保持著一個不斷發展、充滿熱情的社區。它可能有其怪癖,但它顯然在做正確的事情。

為什麼 React 的複雜性就是它的優勢 現在,我們來談談它的複雜性。 React 是否比其他一些框架需要更多的努力來掌握?絕對地。但這並不是缺點。這證明了它的靈活性。 React 給你選擇

,能力越大,責任越大(謝謝,本叔叔)。無論您是使用 React Native 建立單頁應用程式、行動應用程序,還是使用 Next.js 建立高效能、SEO 友善的網站,React 的多功能性足以處理這一切。

當然,JSX 乍看之下可能有點奇怪,而且數量龐大的鉤子、模式和狀態管理解決方案可能會讓人感到不知所措。但是,一旦你投入了工作以適應,React 為你提供的控制能力將是非凡的。這不僅僅是建立基本應用程序,還涉及打造體驗、創建可擴展架構以及以其他框架可能不允許的方式解決複雜問題。

React 不會告訴您如何

建立您的應用程式;它為您提供了工具,並希望您找出最適合您的工具。這種靈活性意味著 React 對於小型、快速的專案和大型企業級應用程式同樣有用。它是前端開發的瑞士軍刀,雖然學習正確使用它可能需要時間,但一旦你學會了,就會得到難以置信的回報。

為什麼 React 仍然是首選框架

即使進入遊戲十多年,React 的影響力也沒有減弱的跡象。其龐大的生態系統,包括 Redux、React Router 等函式庫和 Next.js 等框架,正在不斷發展和創新。開發人員仍然蜂擁而至,因為它提供了很少有人能比擬的靈活性、效能和開發人員體驗。另外,React 對元件和可重複使用性的關注不僅僅是一種時尚,它改變了我們對建立使用者介面的看法。

事實上,React 的生態系統使其成為科技界的主流。 Facebook (Meta) 及其強大的貢獻者社群的支持意味著 React 不斷變得更好。它不僅僅是一個框架,而是支援現代 Web 開發的整個生態系統。無論是建立小工具還是整個網站,React 都會為您提供支援。

最後的想法

那麼,React 完美嗎?不,而且它也從未聲稱如此。但它的優點遠大於它的怪癖。最初的複雜性?這就是 React 具有長期可擴展性的原因。感覺勢不可擋的生態系?這就是 React 讓你可以自由地建立你需要的任何東西。古怪的 JSX?好吧,有時候生活中奇怪的事情反而是最好的。

在一個技術趨勢以閃電般的速度變化的世界中,React 成功地保持了相關性、適應能力,並且仍然是開發人員的首選。這不僅值得尊重,也值得讚賞。無論你喜歡還是討厭它,React 都會留下來——而且說實話,我們都會因此變得更好。

所以,也許下次當你發現自己罵 JSX 或抱怨永無止境的變化狀態時,請記住:這不是 React——這只是成長的煩惱。當你最終掌握它?你會明白為什麼 React 贏得了前端框架之王的地位。

以上是為什麼每個人都討厭React?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn