React 是一個(gè)流行的框架,被大多數(shù)大型企業(yè)和小型獨(dú)立開發(fā)人員用來以模塊化方式創(chuàng)建具有復(fù)雜關(guān)系的視圖。它提供了足夠的結(jié)構(gòu)以允許靈活性,同時(shí)也提供了足夠的欄桿以避免在為Web創(chuàng)建應(yīng)用程序時(shí)出現(xiàn)常見的陷阱。想學(xué)習(xí)React開發(fā)技術(shù)的同學(xué),可以報(bào)名參加Web前端培訓(xùn),可以在較短時(shí)間內(nèi)獲得很大提升。
為什么要使用這個(gè)框架?
1. React.JS 性能
React 如此受歡迎的原因之一是其受視頻游戲啟發(fā)的渲染系統(tǒng),其系統(tǒng)的基礎(chǔ)是通過批量更新、使用虛擬內(nèi)存 DOM 計(jì)算差異和不可變狀態(tài)來最小化 DOM 交互。需要注意的一點(diǎn)是,這種方法與當(dāng)時(shí)其他 JavaScript 框架的其他趨勢背道而馳。 然而,事實(shí)證明,臟檢查雙向數(shù)據(jù)綁定會(huì)產(chǎn)生指數(shù)級更多的計(jì)算,因?yàn)槟鷮⒏嗟脑靥砑拥浇M合中而不是一種方式。
2.React 易于采用
生命周期方法的簡短列表使該框架成為最容易理解的框架之一。 事實(shí)上,在一天之內(nèi)精通整個(gè)圖書館并非聞所未聞,這可以歸因于每個(gè)視圖的“總是重新渲染”性質(zhì)以及它如何適應(yīng)其視圖的狀態(tài)或?qū)傩愿摹?/span>
3.JSX
當(dāng)React.JS最初被引入JavaScript世界時(shí),將視圖定義與控制邏輯緊密耦合的想法引起了爭議。React 發(fā)布到一個(gè)范式中,傳統(tǒng)MVC 框架的客戶端副本(如在服務(wù)器端發(fā)現(xiàn)的那些)非常流行。MVC傳統(tǒng)將HTML與控制器分開,控制器的職責(zé)是將多個(gè)視圖組合起來并將數(shù)據(jù)編組到其中。從字面上看,這意味著這些“擔(dān)憂”被分成了自己的文件。
React的架構(gòu)師采取了另一種方法,他們說HTML與JavaScript的分離是膚淺的。實(shí)際上,您的HTML和JS應(yīng)用程序代碼非常緊密耦合,將它們保存在各自的分離文件中更像是技術(shù)分離而不是關(guān)注點(diǎn)分離。在Web前端培訓(xùn)中,有很多關(guān)于React的學(xué)習(xí)課程,可以讓你快速掌握這門技術(shù)的使用,高效完成開發(fā)任務(wù)。
想象一下,試圖在一個(gè)大型jQuery 應(yīng)用程序中更改HTML元素的類名或 id 標(biāo)記。您必須驗(yàn)證沒有任何DOM綁定被破壞,這表明兩者之間存在密切關(guān)系。
這就是JSX發(fā)揮作用的地方。通過將您的組件邏輯與它正在操作的視圖放在同一個(gè)文件中,它使模塊更容易推理,最好的部分是您可以利用vanilla JavaScript來表達(dá)您的視圖。
4. 對服務(wù)器端通信沒有意見
React定義了你的視圖,但為你提供了生命周期“鉤子”來發(fā)出服務(wù)器端請求,這是一個(gè)優(yōu)勢,因?yàn)檫@意味著一旦您了解了XHR請求的生成方式,您就可以更輕松地更新用于生成這些請求的庫,而不是BackBoneJS。這些鉤子是 state、props、componentWillMount和componentDidMount。
5.從一開始就構(gòu)建同構(gòu)
React有一個(gè)簡潔的功能,它可以檢測是否需要最初將DOM渲染到頁面上,這意味著如果您在交付給客戶端瀏覽器之前在服務(wù)器端代碼中預(yù)編譯視圖,React 將能夠簡單地引導(dǎo)其偵聽器并從那里開始。對React感興趣的同學(xué)可以報(bào)個(gè)Web前端培訓(xùn)班學(xué)習(xí),有系統(tǒng)全面的課程和明確清晰的學(xué)習(xí)路線,讓學(xué)習(xí)更輕松更有效。
React提供了從其語法輕松生成HTML的方法,這是為了獲得SEO機(jī)器人的青睞,傳統(tǒng)上它們不會(huì)在其爬蟲中運(yùn)行JavaScript(或至少將這些網(wǎng)站標(biāo)記為比預(yù)生成的網(wǎng)站更糟糕)。
6.跨平臺(tái)支持
React的生態(tài)系統(tǒng)確實(shí)非常龐大。框架一直在移動(dòng)的方式是將視圖邏輯與“更純”的業(yè)務(wù)規(guī)則分開。默認(rèn)情況下,您采用此策略。這使您可以定位其他平臺(tái),例如移動(dòng)、虛擬現(xiàn)實(shí)設(shè)備、電視體驗(yàn),甚至生成電子郵件。
7.React 為良好實(shí)踐應(yīng)用程序提供輕軌
選擇React的原因是它的生命周期方法、狀態(tài)和道具提供了足夠的欄桿來創(chuàng)建可擴(kuò)展的應(yīng)用程序,需要XHR數(shù)據(jù)?使用組件WillMount。需要使用著名的jQuery庫使特定組件看起來更漂亮嗎?使用componentDidMount和 componentShouldUpdate或componentDidUpdate來停止DOM操作或在更改后輕松地重新設(shè)置元素的樣式。
關(guān)鍵是只有足夠的欄桿對應(yīng)于頁面內(nèi)的自然組件生命周期,對任何經(jīng)驗(yàn)水平的開發(fā)人員都有很大的意義,但對于有“React”做事方式的地方來說還不夠,它以這種方式非常通用。如果你想了解更多關(guān)于React的信息,不妨報(bào)名參加Web前端培訓(xùn),有理論和實(shí)踐項(xiàng)目一起學(xué)習(xí),學(xué)以致用,在項(xiàng)目中鍛煉自己的思維能力和動(dòng)手能力,獲得快速成長。