国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

React簡單介紹

2024-05-06 15:16:46
字體:
來源:轉載
供稿:網友

React 背景知識

  React 是一個用于構建用戶界面的 JavaScript 庫,主要用于構建 UI,而不是一個 MVC 框架,但可以使用 React 作為 MVC 架構的 View 層輕易的在已有項目中使用,它是一個用于構建用戶界面的 JavaScript 庫,起源于 Facebook 的內部項目,用來架設 Instagram 的網站,于 2013 年 5 月開源。React 擁有較高的性能,代碼邏輯非常簡單,越來越多的人已開始關注和使用它。

  以前沒有 ajax 技術的時候,web 頁面從服務端整體渲染出 html 輸出到瀏覽器端進行渲染,同樣的,用戶的一個改變頁面的操作也會刷新整個頁面來完成。直到有了 ajax 出現,實現頁面局部刷新,帶來的高效和分離讓 web 開發者們驚嘆不已。但隨之而來的問題是,復雜的用戶交互及展現需要通過大量的 DOM 操作來完成,這讓頁面的性能以及開發的效率又出現了新的瓶頸。

  時至今日,談到前端性能優化,減少 DOM 元素、減少 reflow 和 repaint、編碼過程中盡量減少 DOM 的查詢等手段是大家耳熟能詳的。而頁面任何UI的變化都是通過整體刷新來完成的。幸運的是,React 通過自己實現的 DOM Diff 算法,計算出虛擬頁面當前版本和新版本之間的差異,最小化重繪,避免不必要的 DOM 操作,解決了這兩個公認的前端性能瓶頸,實現高效 DOM 渲染。

  我們知道,頻繁的操作 DOM 所帶來的性能消耗是很大的,而 React 之所以快,是因為它不直接操作 DOM,而是引進虛擬 DOM 的實現來解決這個問題

  對于頁面的更新,React 通過自己實現的 DOM Diff 算法來進行差異對比、差異更新,反映到頁面上就是只重繪了更新的部分,從而提高渲染效率。

備注:以下性能闡述參考自尤雨溪。

  對于 React 的性能方面,想啰嗦幾句:

    1. React 從來沒有說過 “React 比原生操作 DOM 快”。React 的基本思維模式是每次有變動就整個重新渲染整個應用。如果沒有 Virtual DOM,簡單來講就是直接重置 innerHTML。

    2. 在比較性能的時候,要分清楚初始渲染、小量數據更新、大量數據更新這些不同的場合。

    3. 不要天真地以為 Virtual DOM 就是快,diff 不是免費的,Virtual DOM 真正的價值從來都不是性能,而是它

      1) 為函數式的 UI 編程方式打開了大門;

      2) 可以渲染到 DOM 以外的其他場景,如 backend、native。

組件化

  在業務開發中,遇到公共的模板部分,我們不得不將模板和規定的數據格式耦合在一起來實現組件。而在 React 中,我們可以使用 JSX 語法來封裝組件,將組件的結構、數據邏輯甚至樣式都聚合在一起,更加簡單、明了、直觀的定義組件。

  有了組件化的實現,我們可以很直觀的將一個復雜的頁面分割成若干個獨立組件,再將這些獨立組件組合完成一個復雜的頁面。這樣既減少了邏輯復雜度,又實現了代碼的重用。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 奎屯市| 襄城县| 临湘市| 惠来县| 赤峰市| 潜山县| 泸西县| 开阳县| 龙南县| 县级市| 工布江达县| 淮安市| 宿松县| 南汇区| 交城县| 古浪县| 兰考县| 盱眙县| 大竹县| 宣武区| 鹤山市| 苍南县| 台东县| 芜湖市| 林州市| 开平市| 南雄市| 南投县| 南平市| 威海市| 青田县| 二手房| 会东县| 宜兰县| 隆回县| 宁蒗| 宿松县| 清丰县| 东至县| 荔波县| 张家口市|