當前位置:首頁 >教程首頁 > IT 學院 > WEB前端+全棧工程師班 >前端程序員需要了解的 React解讀!

前端程序員需要了解的 React解讀!

發布時間:2019-04-24 14:32:39

React、ReactJS、React.js、React Native… 這些有些相似的名詞你最近聽過多少遍了?對於它們究竟是什麼你是否感到困惑?今天就跟著小編一起來了解一下前端程序員需要了解的 React解讀!

這篇文章,小編將用非常樸實的語言和插圖來解釋React家族中的各種各樣的術語,並深入探索究竟是什麼使得 React 如此特別。本文中並不需要任何代碼知識便可閱讀。這隻是一些概念,從而不至於在後麵的學習過程中感到絕望。如果後麵需要溫故而知新的話,歡迎隨時回來閱讀。

前端程序員需要了解的 React解讀!

準備好了嗎?我們開始了!

學習目標

讀完本文後,希望你能夠重新回到這裏,並能夠輕鬆回答下列問題:

什麼是 DOM ?

什麼是 React ?它的哪些方麵比較適合應用開發?

React 與 jQuery 的不同之處?

React 的核心概念是什麼?

什麼是響應式 UI ?

組件有哪些好處?

關於 Web ,這些都是你需要了解的。我們先來介紹一些你可能聽過很多年的術語。首先是 DOM 。

DOM

DOM 的全稱是 Document Object Model (文檔對象模型)。很簡單吧?它就是文檔對應的對象模型。

先暫時忘掉它的概念。我們先來看看大名鼎鼎的 “Web Browser” 工作室!你能在下麵的插圖中找到 DOM 嗎?

前端程序員需要了解的 React解讀!

DOM 是一棵樹。奇怪的是,計算機相關的很多東西其實都像是一棵樹。

我們來給 DOM 起個昵稱……就叫 Domo 如何?Domo 是 “Web Browser” 工作室的禦用模特,他的工作就是在肖像畫家(也可能是數百萬個畫家)麵前擺 pose 。

肖像就是在瀏覽器中瀏覽網站時所看見的內容。開發者的職責就好比是導演,他來告訴 Domo 該穿什麼衣服,擺什麼 pose 。這將決定肖像最終畫出來的樣子。jQuery 和 React 都是庫,開發者使用它們作為與 Domo 交流的工具。

jQuery

jQuery 是一個 JavaScript 庫,它可以使開發者操縱 DOM 變得簡單得多。那他在 Domo 的故事中又扮演什麼角色呢?

它是一個工具,可以簡化開發者與 Domo 溝通的過程,就像是一部手機。無論何時何地都可以輕鬆呼叫 Domo 。相比於之前(使用原生 JavaScript),它要方便得多,還記得在電話發明出來之前人跟人連簡單交流都要走得足夠近才行。

前端程序員需要了解的 React解讀!

多年以來,我們一直都在使用 jQuery 來直接與 Domo 溝通。是很方便,但並非沒有問題。

React

下麵登場的是一個新的超級英雄: React 。

前端程序員需要了解的 React解讀!

使用 React 的話,開發者不再需要直接跟 Domo 溝通。React 扮演在開發者和 Domo 之間的中間人角色。他降低了兩者之間的溝通成本,同時簡化了肖像創建的過程。

前端程序員需要了解的 React解讀!

React 使用了一些技術來解決 jQuery 和其他工具中所存在的問題。下麵是它的三項核心技術:

響應式 UI

虛擬 DOM

組件

響應式 UI

使用 jQuery 來更新 DOM 的話,你需要在適當的時機以正確的順序來指定要更改的元素。這等同於給 Domo 一步步講述頭怎麼擺、胳膊放在哪、腿什麼姿勢,等等,並且每張肖像都是如此。

前端程序員需要了解的 React解讀!

我靠,這聽起來太乏味了,並且容易出錯!為什麼不直接告訴 Domo 你想要的效果,而不是現在這樣一步步地告訴他怎麼擺 pose ?

前端程序員需要了解的 React解讀!

還有更酷的,想象一下如果可以在要求過程中保留一個占位符來表示相同姿勢的不同變體。React 就能做到!

這種方式的話,當畫家要求 Domo 穿戴不用的帽子作畫時,你不需要每次都告訴 Domo 戴哪頂帽子。你盡管坐在一旁讓他自己換帽子即可。

前端程序員需要了解的 React解讀!

這項技術正是 React 名字的由來。使用 React 構建的 UI 是響應式的。作為開發者,你隻需編寫你想要的是什麼,React 自己會弄清楚該怎麼做。當數據變化時,UI 會相應地發生改變。你無需再關心 DOM 的更新,React 會自動幫你完成。響應式 UI 的理念大大地簡化了 UI 開發。

虛擬 DOM

jQuery 的另一個問題就是它的運行速度。

作為一個嚴苛的導演,你討厭等待。你想要肖像畫盡可能快地完成。但是,Domo 和畫家都比較慢,並非是樹瀨那種慢,隻是 Domo 需要時間來換裝和擺 pose ,並且畫家作畫也需要時間。

更糟糕的是,在畫家完成一幅肖像畫之前,你無法與 Domo 進行溝通。事實上,你什麼也做不了,除了等待。真浪費時間!

前端程序員需要了解的 React解讀!

React 采用了另一項技術來解決此問題。React 畫草稿的速度超級快。是當你告訴他你的要求後,他幾乎就能立即將草稿完成並準備畫下一張。現在就無需等待了!你可以不停地告訴 React 你想的肖像。React 將會紀錄草稿的所有細節,並在適當的時候展示給 Domo 看。

前端程序員需要了解的 React解讀!

更重要的一點是 React 十分聰明。他還會對所有草稿進行整理,拿掉重複的並確保 Domo 和畫家的工作量維持在最低水平。

前端程序員需要了解的 React解讀!

這些草稿就是 “虛擬 DOM” 。虛擬 DOM 要比操縱 DOM 快得多得多。開發者絕大部分時間裏其實都是在操縱虛擬 DOM ,而不是直接操縱真實的 DOM 。React 負責管理 DOM 的這部分髒活。

組件

React 中第三項技術就是組件的概念。

組件應該很容易理解,因為我們所生活的現實世界就是由組件組成的。我們的車、房,甚至是身體都是由不同的組件所組合而成的。這些組件又是由一些更小的組件組合而成,以此類推,直至分解成原子。

如果你熟悉 Sketch (譯者注: 著名的設計軟件,與 PhotoShop 齊名) 的話,組件與 Sketch 中的 symbols 十分類似。構建 React 應用幾乎都是在同組件打交道: 尋找最適合的組件、融合兩個組件、在現有組件的基礎上創建新組件,等等。

回到 “Web Browser” 工作室,你將肖像的需求描述成一個個組件,React 將這些組件翻譯成 Domo 所能理解的內容。這將為你節省大量時間,因為你無需再一次次地重複描述需求中的通用部分。

前端程序員需要了解的 React解讀!

組件另外很酷的一點是如果你改變了某個組件,那麼所有使用此組件的地方都將自動更新。

前端程序員需要了解的 React解讀!

總結

好了。希望你能學會一些 React 的知識。本質上,它還是一個工具,用來幫助開發者操縱 DOM ,從而構建出頁麵。響應式 UI 、虛擬 DOM 和組件是 React 的三大核心概念,正是有了它們才使得 React 如此特別。當然,React 還有一些其他有趣的概念,比如單向數據流,小編以後在介紹。

作者:技術學派  來源:今日頭條

华体会hth体育网 賞析
  • 2101期學員李思庭作品

    2101期學員李思庭作品

  • 2104期學員林雪茹作品

    2104期學員林雪茹作品

  • 2107期學員趙淩作品

    2107期學員趙淩作品

  • 2107期學員趙燃作品

    2107期學員趙燃作品

  • 2106期學員徐正浩作品

    2106期學員徐正浩作品

  • 2106期學員弓莉作品

    2106期學員弓莉作品

  • 2105期學員白羽新作品

    2105期學員白羽新作品

  • 2107期學員王佳蕊作品

    2107期學員王佳蕊作品

專業問題谘詢

你擔心的問題,火星幫你解答

微信掃碼入群領福利

掃碼領福利最新AI資訊

點擊谘詢
添加老師微信,馬上領取免費課程資源

1. 打開微信掃一掃,掃描左側二維碼

2. 添加老師微信,馬上領取免費課程資源

×

同學您好!

您已成功報名0元試學活動,老師會在第一時間與您取得聯係,請保持電話暢通!
確定