中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

react框架的特點和優勢是什么

發布時間:2022-12-06 09:35:26 來源:億速云 閱讀:162 作者:iii 欄目:web開發

這篇文章主要介紹了react框架的特點和優勢是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇react框架的特點和優勢是什么文章都會有所收獲,下面我們一起來看看吧。

react框架是2013年出來的;React起源于Facebook的內部項目,于2013年5月開源。React是用于構建用戶界面的JavaScript庫,主要用于構建UI;用戶可以在React里傳遞多種類型的參數,如聲明代碼,幫助你渲染出UI、也可以是靜態的HTML DOM元素、也可以傳遞動態變量、甚至是可交互的應用組件。

一、React的起源和發展

React是用于構建用戶界面的JavaScript庫, 起源于Facebook的內部項目,因為該公司對市場上所有 JavaScript MVC框架,都不滿意,就決定自己寫一套,用來架設Instagram的網站。做出來以后,發現這套東西很好用,就在2013年5月開源了。

二、React的出發點

基于HTML的前端界面開發正變得越來越復雜,其本質問題基本都可以歸結于如何將來自于服務器端或者用戶輸入的動態數據高效的反映到復雜的用戶界面上。而來自Fackbook的React框架正是完全面向此問題的一個解決方案,按官網描述,其出發點為:用于開發數據不斷變化的大型應用程序(Building large applications with data that changes over time)。相比傳統型的前端開發,React開辟了一個相當于相當另類的途徑,實現了前端界面的高性能高效率開發。

React主要用于構建UI。你可以在React里傳遞多種類型的參數,如聲明代碼,幫助你渲染出UI、也可以是靜態的HTML DOM元素、也可以傳遞動態變量、甚至是可交互的應用組件。

三、Recat與傳統MVC的關系

輕量級的視圖層庫! A JavaScript library for building user interfaces

React不是一個完整的MVC框架,最多可以認為是MVC中的(view)層,甚至React并不非常認可MVC開發模式;React構建頁面UI的庫。可以簡單地理解為,React將界面分成了各個獨立的小塊,每一個塊就是組件,這些組件之間可以組合、嵌套、就成了我們的頁面

四、React高性能的體現:虛擬DOM

原理:在我們的開發過程中,我們需要將變化莫測的數據實時的反映到UI上,這時就需要對DOM進行操作。但頻繁或復雜的操控DOM會產生許多性能上的問題。————如何進行高性能的復雜DOM操作通常是衡量一個前端開發人員技術的重要指標。

React為此引入了虛擬DOM(virtual DOM)的機制:在瀏覽器端用javascript實現了一套DOM API。基于React進行開發時所有的DOM構造都是通過虛擬DOM進行,每當數據變化時,React都會重新渲染整個DOM樹,然后React將當前整個DOM樹和上一次的DOM樹進行對比,得到DOM結構的的區別,然后僅僅需要變化的部分進行實際的瀏覽器DOM更新。而且React能夠批量處理虛擬DOM的刷新,在一個事件循環(Event loop)內的兩次數據變化被合并,例如你連續的先將節點內容從A-B,B-A,React會認為A變成B,然后又從B變成A UI不發生任何變化,而如果通過手動控制,這種邏輯通常是極其復雜的

React Fiber:

在React16之后發布的一種react核心算法,React Fiber是對核心算法的一次重新實現(官網說法)。之前用的是diff算法

在之前的React中,更新過程是同步的,這可能會導致性能問題。

當React決定要加載或者更新組件樹時,會做很多事,比如調用各個組件的生命周期函數,計算和比對Virtual DOM,最后更新DOM樹,這整個過程是同步進行的,也就是說只要一個加載或者更新過程開始,中途不會中斷。因為javascript單線程的特點,如果組件樹很大的時候,每個同步任務耗時太長,就會出現卡頓。

React Fiber的方法其實很簡單——分片。把一個耗時長的任務分成很多小片,每一個小片的運作時間很短,雖然總時間依然很長,但是在每個小片執行完之后,都給其他任務一個執行的機會,這樣唯一的線程就不會被獨占,其他任務依然有運行的機會。

五、React的特點和優勢

1、虛擬DOM

我們之前操作DOM的方式是通過document.getElementById()的方式,這樣的過程實際上是先去讀取html的dom結構,將結構轉換成變量,而進行操作

而reactjs定義了一套變量形式的dom模型,一切操作和換算直接在變量中,這樣減少了操作真實dom,性能真實相當的高,和主流MVC框架有什么本質區別,并不和dom打交道

2、組件系統

react最核心的思想是將頁面中任何一個區域或者元素都可以看做一個組件component

那什么是組件呢?

組件指的就是同時包含了html、css、js、image元素的聚合體

3、單向數據流

其實reactjs的核心內容就是數據綁定,所謂數據綁定指的是只要將一些服務端的數據和前端頁面綁定好,開發者只關注實現業務就行了

4、JSX語法

在vue中,我們使用render函數來構建組件的dom構造性能較高,因為省去了查找和編譯模板的過程,但是在render中利用createElement創建結構的時候代碼可讀性較低,較為負載,此時可以利用JSX語法來在render中創建dom,解決了這個問題,但是前提是需要使用工具編譯jsx。

關于“react框架的特點和優勢是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“react框架的特點和優勢是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泰宁县| 宁南县| 合水县| 元氏县| 会宁县| 永昌县| 兴山县| 新乐市| 资源县| 满城县| 图们市| 西和县| 陇南市| 邮箱| 庆安县| 临高县| 托克逊县| 平阳县| 郧西县| 通许县| 乌拉特后旗| 南乐县| 汪清县| 兴安盟| 乌海市| 新营市| 马山县| 桦甸市| 工布江达县| 澄迈县| 沂源县| 宜兰市| 阳新县| 盈江县| 乌拉特后旗| 柞水县| 阜阳市| 宜州市| 汉沽区| 无为县| 连州市|