本文小編為大家詳細(xì)介紹“react是mvvm框架嗎”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“react是mvvm框架嗎”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。
創(chuàng)新互聯(lián)是一家專業(yè)提供永修企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、H5場(chǎng)景定制、小程序制作等業(yè)務(wù)。10年已為永修眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
react不是mvvm框架。mvvm框架需要有一個(gè)vm對(duì)象來映射view,也即vm對(duì)象的屬性發(fā)生改變的時(shí)候,對(duì)應(yīng)的視圖部分會(huì)相對(duì)應(yīng)更新;而react中并沒有vm對(duì)象,有的是屬性和狀態(tài),整體可作為View使用,所以react不是mvvm框架。
本教程操作環(huán)境:Windows10系統(tǒng)、react17.0.1版、Dell G3電腦。
react不是mvvm框架
首先搞明白mvvm是啥意思。vm是view mode的意思。
所以mvvm框架是要有一個(gè)vm對(duì)象,來映射view。也就是vm對(duì)象的屬性發(fā)生改變的時(shí)候,對(duì)應(yīng)的視圖部分會(huì)相對(duì)應(yīng)更新。
比較經(jīng)典的有knockoutjs,里面比較關(guān)鍵的概念就是view model,compute,view模板等。對(duì)的,vue中其實(shí)是有不少它的影子。
然后來看看react,它沒有純粹意義上的vm對(duì)象,它有的是屬性和狀態(tài)。
React可以作為MVVM中第二個(gè)V,也就是View,但是并不是MVVM框架。
MVVM一個(gè)最顯著的特征:雙向綁定。
React沒有這個(gè),它是單向數(shù)據(jù)綁定的。
React是一個(gè)單向數(shù)據(jù)流的庫,狀態(tài)驅(qū)動(dòng)視圖。
react整體是函數(shù)式的思想,把組件設(shè)計(jì)成純組件,狀態(tài)和邏輯通過參數(shù)傳入,所以在react中,是單向數(shù)據(jù)流,推崇結(jié)合immutable來實(shí)現(xiàn)數(shù)據(jù)不可變。
然后來看看react,它沒有純粹意義上的vm對(duì)象,它有的是屬性和狀態(tài)。用屬性和狀態(tài)去映射視圖。那么屬性和狀態(tài)和vm有什么區(qū)別呢?個(gè)人認(rèn)為,vm對(duì)象不管你值是從外部傳進(jìn)來的還是自己內(nèi)部定義的,最后都一視同仁。很多情況還有雙向綁定的機(jī)制,可能早期的flex,讓人感到驚艷吧,后面的mvvm框架都有雙向綁定的概念。而react,強(qiáng)調(diào)的是屬性不可變性,單向數(shù)據(jù)流。
內(nèi)部的狀態(tài)內(nèi)部自己控制。這樣的設(shè)計(jì)可能從設(shè)計(jì)上更復(fù)雜一些,但是從使用上變得更確定,更清晰了。如果react用的比較熟,給合適的組件管理合適的狀態(tài),做好狀態(tài)的合理分層,會(huì)大大降低應(yīng)用復(fù)雜度。然后,redux有個(gè)很先進(jìn)的概念叫容器組件和純展示組件,如果領(lǐng)悟了這個(gè)設(shè)計(jì)思路的話,把復(fù)雜的東西集中到少部分組件中,大部分組件就變成純展示組件,進(jìn)一步降低應(yīng)用復(fù)雜性。
讀到這里,這篇“react是mvvm框架嗎”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
文章名稱:react是mvvm框架嗎
本文URL:http://jinyejixie.com/article44/pppche.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、網(wǎng)站改版、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)