首頁 >web前端 >js教程 >React 真的像聽起來那麼難/複雜嗎?

React 真的像聽起來那麼難/複雜嗎?

Linda Hamilton
Linda Hamilton原創
2024-12-05 08:36:15606瀏覽

React 是否讓你覺得不知所措?

如果是這樣,你並不孤單。

我常常聽到這樣的事情:

  • 不要使用 React;請改用 Vue。

  • React 很難而且沒用;請改用 HTMX 或 Vanilla JS。

  • 等等

但是作為一名在 Palantir 擁有 5 年經驗的高級前端工程師,我可以自信地說:「React 是我必須學習的最簡單的東西。

在這篇文章中,我將解釋為什麼 React 並不像人們想像的那麼複雜,以及如果您遇到困難如何應對挑戰。

準備好了嗎?讓我們深入了解一下。

?下載我的免費 101 React Tips And Tricks Book,搶佔先機。

Is React as hard/complex as it sounds?

React 感覺困難的 7 個原因(以及如何解決它)

Is React as hard/complex as it sounds?

原因 1:你對 JavaScript 不夠了解

人們 99% 的時間都在與 React 作鬥爭,因為他們的 JavaScript 基礎並不紮實。

這對我來說也是如此——一開始我無法理解 React 程式碼。我花了幾個月的時間努力寫出任何像樣的東西。當我學習 JavaScript 後,這一切都改變了。

這是學習 React 之前您需要了解的最少知識:

  • 原始資料型別與物件資料型別的差異

  • 物件解構

  • 範圍

  • 關閉

  • 非同步

  • 等等

?請參閱 Kent C. Dodds 撰寫的這篇精彩指南,以了解 React 所需了解的 JavaScript 概念。

一旦你的 JavaScript 技能提高,React 就會變得更容易。

?請參閱我的文章《如何提升前端技能》,取得學習 JavaScript 的有用資源。

Is React as hard/complex as it sounds?

原因 2:您使用了錯誤的工具

如果您是 React 新手,不要因為選擇過時或過於複雜的工具而讓自己陷入失敗:

  • 不要使用 建立 React App:它已經過時、緩慢且缺乏可擴展性。

  • 不要使用 Next.js (暫時):雖然令人驚奇,但它增加了你不需要的學習曲線初學者。

相反,從 Vite 開始。它快速、簡單且適合初學者。以後你會感謝我的嗎? .

Is React as hard/complex as it sounds?

原因 3:你混淆了 React 和框架

React ≠ Next.js ≠ Remix。

Next.js 和 Remix 是建立在 React 之上的框架,用於建立全端應用程式。

你不需要了解 Next.js 或 Remix 來學習 React。

但是你需要了解React 才能使用其中任何一個

所以,先關注 React。框架可以稍後出現,因為它們增加了一層複雜性。

Is React as hard/complex as it sounds?

原因 4:您試圖從頭開始建立一切

從頭開始建立一切——尤其是考慮到可訪問性——可能會讓人不知所措。

但是,你不必獨自面對。

React 的美妙之處在於它的庫生態系統,可以讓你的生活更輕鬆? .

將它們視為捷徑。當別人已經造出了一個難以置信的輪子時,為什麼還要重新發明輪子呢?

以下是一些例子:

  • 用於拖放功能的 dnd-kit

  • shadcn/ui 用於樣式

  • 用於輕量級資料所取得的 SWR

  • 等等

利用這些工具節省時間和精力。

Is React as hard/complex as it sounds?

原因 5:你人手不足但不使用框架

如果您缺乏時間或資源(例如單人團隊),Remix 或 Next.js 等框架可以成為救星。

何時使用它們:

  • 你人手不足

  • 您正在建立一個全端應用程式

  • 您想要內建路由、伺服器端渲染等等

如果您不需要全端解決方案,請堅持使用 React 和 React Router 以及一些必要的函式庫。

Is React as hard/complex as it sounds?

原因 6:你不了解 React 的渲染過程(最終會出現效能問題)

了解 React 的渲染過程對於避免效能問題至關重要:

  1. 渲染: React 呼叫元件函數(或類別元件渲染方法)來產生虛擬 DOM。

  2. 協調: React 將虛擬 DOM 與真實 DOM 進行比較,找出發生了什麼變化。

  3. 提交階段: React 僅更新必要的 DOM 元素。

  4. 繪畫:瀏覽器重新繪製螢幕。

Is React as hard/complex as it sounds?


反應渲染過程。學分:https://x.com/_georgemoller

人們常犯的錯誤:

  • 渲染過多:透過最小化狀態、在組件樹中保持較低的狀態以及在需要時使用記憶來解決此問題(不要@我?:記憶可以改變生活) .

    ?查看有關 React 重新渲染的指南。

  • 過度使用 useEffect: 許多效果是可以避免的。看,您可能不需要效果。

  • 不遵循約定:例如,在渲染清單時,始終使用唯一鍵以防止錯誤。

Is React as hard/complex as it sounds?

原因 7:您的應用程式在生產中發生故障

如果您的應用程式在開發中正常運行,但在生產中出現故障,那麼是時候添加測試和類型檢查器了。

我知道,我知道——測試和 TypeScript 聽起來可能有點矯枉過正。但請聽我說完。

它們是您的安全網,在錯誤到達您的用戶之前捕獲它們。

未來的你會感謝你的!

這是我的推薦:

  • 類型檢查器: 使用 TypeScript。它對初學者很友好,尤其是有了本指南。如果您使用 Vite,設定很簡單。

  • 檢定:將 Vitest 與 Vite 或 React 測試庫一起使用進行其他設定。

測試和類型將節省您數小時的調試時間,並讓您保持理智? .

Is React as hard/complex as it sounds?

概括

React 真的像聽起來那麼難嗎? 沒有。

React 只是一個 JavaScript 函式庫。複雜度多來自:

  • 對 JavaScript 不夠了解

  • 混淆 React 與框架

  • 嘗試自己做所有事情

  • 概觀 React 基礎

記住,每個專家都曾經是初學者。

憑藉正確的心態和工具,React 可以成為您建立出色應用程式的秘密武器。

你有這個嗎? .

獎勵:下載我的免費電子書, 101 React 提示和技巧,並在構建更流暢、更快的React 應用程式時節省數小時的挫敗感。

Is React as hard/complex as it sounds?

?引人深思

Is React as hard/complex as it sounds?

<script> // Detect dark theme var iframe = document.getElementById('tweet-1862406693444874439-370'); if (document.body.className.includes('dark-theme')) { iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1862406693444874439&theme=dark" } </script>

?發現問題

Is React as hard/complex as it sounds?

這是一個包裝? .

發表評論?分享您在 React 方面面臨的最大挑戰或是什麼讓您感到滿意。

別忘了加上「???」。

如果您正在學習 React,請免費

下載我的 101 React Tips & Tricks 書。

如果您喜歡這樣的文章,請加入我的免費時事通訊,FrontendJoy

如果您想要每日提示,請在 X/Twitter 或 Bluesky 上找到我。 <script> // Detect dark theme var iframe = document.getElementById('tweet-1862406693444874439-370'); if (document.body.className.includes('dark-theme')) { iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1862406693444874439&theme=dark" } </script>

以上是React 真的像聽起來那麼難/複雜嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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