歡迎來到培訓(xùn)無憂網(wǎng)!

全國切換

咨詢熱線 400-001-5729

位置:培訓(xùn)無憂網(wǎng) > 新聞資訊 > 電腦/IT > web前端 >  Web前端培訓(xùn):React如何工作

Web前端培訓(xùn):React如何工作

來源:m.elsolbar.com 發(fā)布人:星星

2021-12-15 10:49:50|已瀏覽:379次

      React自推出以來,改變了前端開發(fā)人員構(gòu)建web應(yīng)用程序的方式。使用虛擬DOM,React使UI更新更加高效,使web應(yīng)用程序更加快速。但是,為什么中等規(guī)模的React web應(yīng)用程序仍然表現(xiàn)不佳?React是前端常用的一個(gè)框架,關(guān)鍵就在于你是如何使用React的。
      像React這樣的現(xiàn)代前端庫并不能神奇地讓你的應(yīng)用程序更快。它要求開發(fā)人員了解React是如何工作的,以及組件在組件生命周期的各個(gè)階段是如何生存的。使用React,你可以通過測量和優(yōu)化組件渲染的方式和時(shí)間,獲得它必須提供的許多性能改進(jìn)。而且,React只提供了簡化此操作所需的工具和功能。
React是如何工作的?
       React開發(fā)的核心是簡單明了的JSX語法,以及React構(gòu)建和比較虛擬DOM的能力。自發(fā)布以來,React影響了許多其他前端庫,諸如Vue.js也依賴于虛擬DOM的思想。以下是React的工作原理:
       每個(gè)React應(yīng)用程序都以根組件開始,并由樹結(jié)構(gòu)中的許多組件組成。React中的組件是“函數(shù)”,它們根據(jù)用戶界面接收的數(shù)據(jù)(道具和狀態(tài))呈現(xiàn)用戶界面。我們可以用F來表示。UI = F(data)
       用戶與UI交互并導(dǎo)致數(shù)據(jù)更改。無論交互涉及單擊按鈕、點(diǎn)擊圖像、拖動(dòng)列表項(xiàng)、AJAX請求調(diào)用API等,所有這些交互都只會(huì)更改數(shù)據(jù)。它們不會(huì)直接導(dǎo)致用戶界面的改變。在這里,數(shù)據(jù)是定義web應(yīng)用程序狀態(tài)的一切,而不僅僅是存儲(chǔ)在數(shù)據(jù)庫中的內(nèi)容。甚至前端狀態(tài)的位(例如,當(dāng)前選擇了哪個(gè)選項(xiàng)卡或當(dāng)前是否選中了復(fù)選框)也是該數(shù)據(jù)的一部分。
       每當(dāng)此數(shù)據(jù)發(fā)生更改時(shí),React都會(huì)使用組件函數(shù)重新呈現(xiàn)UI,但實(shí)際上僅限于:UI1=F(data1),UI2=F(data2)。React通過在其虛擬DOM的兩個(gè)版本上應(yīng)用比較算法來計(jì)算當(dāng)前UI和新UI之間的差異。Changes = Diff(UI1, UI2)
         Web前端培訓(xùn):React如何工作
       React然后繼續(xù)僅將UI更改應(yīng)用于瀏覽器上的真實(shí)UI。當(dāng)與組件關(guān)聯(lián)的數(shù)據(jù)發(fā)生更改時(shí),React確定是否需要實(shí)際的DOM更新。這允許React避免在瀏覽器中進(jìn)行可能非常昂貴的DOM操作,例如創(chuàng)建DOM節(jié)點(diǎn)和訪問現(xiàn)有的DOM節(jié)點(diǎn)。
       組件的重復(fù)擴(kuò)散和渲染可能是任何React應(yīng)用程序中React性能問題的主要來源之一。構(gòu)建一個(gè)React應(yīng)用程序,其中擴(kuò)散算法無法有效協(xié)調(diào),導(dǎo)致整個(gè)應(yīng)用程序重復(fù)渲染,可能會(huì)導(dǎo)致令人沮喪的緩慢體驗(yàn)。

       要充分利用React,你需要利用它的工具和技術(shù)。React web應(yīng)用程序的性能在于其組件的簡單性,在優(yōu)化應(yīng)用程序之前,你需要了解React組件的工作原理以及它們在瀏覽器中的呈現(xiàn)方式。React生命周期方法提供了防止組件不必要地重新渲染的方法。消除這些瓶頸,你將獲得用戶應(yīng)得的應(yīng)用程序性能。參加web前端培訓(xùn),有好的教學(xué)環(huán)境、系統(tǒng)規(guī)范的課程、主流軟件,不光可以擴(kuò)展你的技術(shù),同時(shí)緊貼就業(yè)市場需求設(shè)計(jì)。讓你學(xué)到的技能貼合就業(yè)市場,不怕面對就業(yè)競爭對手。

       本文由培訓(xùn)無憂網(wǎng)千鋒教育課程顧問老師整理發(fā)布,更多web前端課程信息可關(guān)注培訓(xùn)無憂網(wǎng)web前端培訓(xùn)頻道或添加老師微信:15033336050

      注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://m.elsolbar.com/news-id-7771.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請關(guān)注web前端頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問老師會(huì)一對一幫助你規(guī)劃更適合你的專業(yè)課程!
  • 姓名:

  • 手機(jī):

  • 地區(qū):

  • 想學(xué)什么:

  • 培訓(xùn)無憂網(wǎng)
免 費(fèi) 申 請 試 聽
提交申請,《培訓(xùn)無憂網(wǎng)》課程顧問老師會(huì)一對一幫助你規(guī)劃更適合你的專業(yè)課程!