全棧React: 第1天 什么是 React?

全棧React: 第1天 什么是 React?

本文轉載自:眾成翻譯
譯者:iOSDevLog
鏈接:http://www.zcfy.cc/article/3765
原文:https://www.fullstackreact.com/30-days-of-react/day-1/

今天,我們從一開始就開始。讓我們看看React是什么,是什么讓React運轉起來。我們將討論為什么要使用它。

在接下來的30天內,您可以體驗到React網頁框架及其生態系統的各個部分。

我們的30天冒險中的每一天都將建立在前一天的材料上,所以在系列結束之后,您不僅可以了解框架如何工作的術語,概念和基礎,而且可以在您的 下一個Web應用程序

讓我們開始吧。 我們將從在零開始因為它是一個非常好的開始的地方。

什么是React?

React是一個用于構建用戶界面的JavaScript庫。它是Web應用程序的視圖層。

所有React應用程序的核心是組件(components)。組件是一個自包含的模塊,它提供一些輸出。我們可以將類似按鈕或輸入字段的接口元素作為React組件。組件是可組合的。組件可以在其輸出中包括一個或多個其他組件。

一般來說,為了編寫React應用程序,我們編寫了對應于各種接口元素的React組件。然后,我們將這些組件組織在定義應用程序結構的更高級組件中。

例如,拿到一個表單。表單可能包含許多界面元素,例如輸入字段,標簽或按鈕。窗體中的每個元素都可以寫為React組件。然后我們寫一個更高級的組件,形式組件本身。表單組件將指定表單的結構,并在其中包括每個這些接口元素。

重要的是,React應用程序中的每個組件都遵守嚴格的數據管理原則。復雜的交互式用戶界面通常涉及復雜的數據和應用程序狀態。React的表面區域是有限的,目的是給我們提供工具,以便能夠預測我們的應用程序在給定的情況下的外觀。我們在后面的課程中探討這些原則。

好吧,那么我們如何使用呢?

React是一個JavaScript框架。使用框架就像在我們的HTML中包含一個JavaScript文件一樣簡單,并在我們JavaScript的應用程序中使用React 導出。

例如,React網站的Hello world示例可以如下簡單:

<html>
<head>
  <meta charset="utf-8">
  <title>Hello world</title>
  <!-- Script tags including React -->
  ``<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react.min.js">``</script>
  ``<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react-dom.min.js">``</script>
  ``<script src="https://npmcdn.com/babel-core@5.8.38/browser.min.js">``</script>

</head>
<body>
  <div id="app"></div>
  ``<script type="text/babel">``
    ReactDOM.render(
      <h1>Hello world</h1>,
      document.querySelector('#app')
    );
  </script>
</body>
</html>

雖然它可能看起來有點可怕,JavaScript代碼是一行動態添加Hello world的頁面。注意,我們只需要包括一些JavaScript文件,以使一切工作。

它是如何工作的?

與許多其前身不同,React不是直接在瀏覽器的文檔對象模型(DOM)上運行,而是在虛擬DOM(virtual DOM)上運行。也就是說,而不是document 在更改我們的數據之后在瀏覽器中操作(這可能很慢),它解決了其虛擬DOM中的更改。在更新虛擬DOM之后,React會智能地確定對實際DOM所做的更改。

虛擬DOM 完全存在于內存中,并且是網絡瀏覽器的DOM的表示。因此,當我們寫一個React組件時,我們不是直接寫入DOM,而是寫一個虛擬組件,React將變成DOM。

在下一篇文章中,我們將看看這對我們構建React組件和跳到JSX并編寫我們的第一個真正組件意味著什么。

下一章:

什么是JSX?

下一章 ?

本教程系列的完整源代碼可以在 GitHub repo, 上找到,其中包含所有樣式和代碼示例。

如果在任何時候你感到困擾,有進一步的問題,請隨時通過以下方式與我們聯系:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內容