深入React技術棧(1):簡介
本書從幾個維度介紹了React。
一是作為View庫,它怎麼實現元件化,以及它背後的實現原理。
二是擴充套件到Flux應用架構及重要的衍生品Redux,它們怎麼與React結合做應用開發。
三是對它與server的碰撞產生的一些思考。
四是講述它在視覺化方面有著怎樣的優勢與劣勢。
程式碼https://github.com/arcthur/react-book-examples
Facebook在2013年開源在GitHub上的JavaScript庫。React把使用者介面抽象成一個元件,按鈕元件Button、對話方塊元件Dialog、日期元件Calendar。把程式碼和真實渲染目標隔離開來,除了可以在瀏覽器端渲染到DOM來開發網頁外,還能用於開發原生移動應用。
DOM操作非常昂貴。效能消耗最大的就是DOM操作,而且這部分程式碼會讓整體專案的程式碼變得難以維護。React把真實DOM樹轉換成JavaScript物件樹,也就是Virtual DOM。
每次資料更新後,對發生變化的部分做批量更新。最大的好處其實還在於方便和其他平臺整合。
函數語言程式設計才是React的精髓。
JSX語法:DOM元素,元件元素,用Babel的JSX編譯器,類XML語法的ECMAScript擴充套件。
const List = () => (
<div>
<Title>This is title</Title>
<ul>
<li> list item</li>
</ul>
</div>
);
React元件:Web Components的4個組成部分:HTML Templates定義了之前模板的概念,Custom Elements定義了元件的展現形式,Shadow DOM定義了元件的作用域範圍、可以囊括樣式,HTML Imports提出了新的引入方式。
而React的本質就是關心元素的構成,React元件即為元件元素。元件元素被描述成純粹的JSON物件,意味著可以使用方法或是類來構建。React元件基本上由3個部分組成---屬性(props)、狀態(state)以及生命週期方法。
React資料流:在React中,資料是自頂向下單向流動的,即從父元件到子元件。這條原則讓元件之間的關係變得簡單且可預測。state與props是React元件中最重要的概念。props是React用來讓元件之間互相聯絡的一種機制,通俗地說就像方法的引數一樣。
React生命週期:分為掛載、渲染和解除安裝幾個階段。如果元件自身的state更新了,那麼會依存執行shouldComponentUpdate、componentWillUpdate、render和componentDidUpdate。
相關文章
- 《深入react技術棧》之表單React
- 《深入react技術棧》之樣式處理React
- React與Redux整合技術簡介ReactRedux
- 《Learning ELK Stack》1 ELK技術棧介紹
- React專案技術棧React
- Mybatis技術內幕(1):Mybatis簡介MyBatis
- 全棧網頁開發學習筆記—Part1 React入門—a.React簡介全棧網頁筆記React
- OCR技術簡介
- FRAM技術簡介
- APP常用跨端技術棧深入分析APP跨端
- webpack工程化整合React技術棧(一)WebReact
- react技術棧全家桶(總結及感悟)React
- python技術簡介(三)Python
- 微服務技術棧簡單介紹,Eureka和Ribbon的引入和使用微服務
- 【React技術棧】從零開始手寫reduxReactRedux
- 影片壓縮技術簡介
- 技術分享 | kubernetes pod 簡介
- 搜尋排序技術簡介排序
- 大資料技術簡介大資料
- WebSocket原理及技術簡介Web
- 區塊鏈-技術簡介區塊鏈
- 簡述大前端技術棧的渲染原理前端
- 技術簡介——後端開發後端
- 積體電路技術簡介
- 1.01 容器技術和docker簡介Docker
- Redux技術架構簡介(一)Redux架構
- 技術棧,我該拿你怎麼簡化?
- 棧與佇列簡介佇列
- 通訊系統之TDM技術和FDM技術簡介
- 《Hadoop大資料分析技術》簡介Hadoop大資料
- LUKS加密卷應用技術簡介加密
- 《Web滲透測試技術》簡介Web
- 跨平臺開發技術簡介!
- React-hooks 簡介ReactHook
- 剖析公司技術棧
- 實戰react技術棧+express前後端部落格專案(1)– 整體專案結構搭建ReactExpress後端
- 快速創業之全棧技術棧創業全棧
- 爬蟲與反爬蟲技術簡介爬蟲