深入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技術棧》學習筆記(三)漫談ReactReact筆記
- React與Redux整合技術簡介ReactRedux
- React專案技術棧React
- React 技術棧系列教程React
- 《Learning ELK Stack》1 ELK技術棧介紹
- Mybatis技術內幕(1):Mybatis簡介MyBatis
- 全棧網頁開發學習筆記—Part1 React入門—a.React簡介全棧網頁筆記React
- OCR技術簡介
- FRAM技術簡介
- webpack工程化整合React技術棧(一)WebReact
- react技術棧全家桶(總結及感悟)React
- APP常用跨端技術棧深入分析APP跨端
- 【React技術棧】從零開始手寫reduxReactRedux
- Raid 技術簡介AI
- RAID技術簡介AI
- React技術棧實現XX點評App-DemoReactAPP
- 微服務技術棧簡單介紹,Eureka和Ribbon的引入和使用微服務
- 大資料技術簡介大資料
- WebSocket原理及技術簡介Web
- 搜尋排序技術簡介排序
- 區塊鏈-技術簡介區塊鏈
- 區塊鏈技術簡介區塊鏈
- oracle 閃回技術簡介Oracle
- Linux HugePage技術簡介Linux
- 影片壓縮技術簡介
- python技術簡介(三)Python
- 通訊系統之TDM技術和FDM技術簡介
- 技術棧,我該拿你怎麼簡化?
- 技術簡介——後端開發後端
- 積體電路技術簡介
- Redux技術架構簡介(一)Redux架構
- SSD的兩種技術簡介
- 資料探勘技術簡介(轉)
- JDBC介面技術介紹1 (轉)JDBC
- 棧與佇列簡介佇列
- 剖析公司技術棧