您好,登錄后才能下訂單哦!
這篇“react不是mvvm框架的原因是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“react不是mvvm框架的原因是什么”文章吧。
因為react是單向數據綁定的,而mvvm最顯著的特征就是數據雙向綁定;mvvm框架是要有一個vm對象,來映射view,而react沒有純粹意義上的vm對象,有的是屬性和狀態,所以react不是mvvm框架。
本教程操作環境:Windows10系統、react17.0.1版、Dell G3電腦。
mvvm
首先搞明白mvvm是啥意思。vm是view mode的意思。
所以mvvm框架是要有一個vm對象,來映射view。
也就是vm對象的屬性發生改變的時候,對應的視圖部分會相對應更新。比較經典的有knockoutjs,里面比較關鍵的概念就是view model,compute,view模板等。對的,vue中其實是有不少它的影子。
react
然后來看看react,它沒有純粹意義上的vm對象,它有的是屬性和狀態。
用屬性和狀態去映射視圖。那么屬性和狀態和vm有什么區別呢?個人認為,vm對象不管你值是從外部傳進來的還是自己內部定義的,最后都一視同仁。很多情況還有雙向綁定的機制,可能早期的flex,讓人感到驚艷吧,后面的mvvm框架都有雙向綁定的概念。而react,強調的是屬性不可變性,單向數據流。內部的狀態內部自己控制。
這樣的設計可能從設計上更復雜一些,但是從使用上變得更確定,更清晰了。如果react用的比較熟,給合適的組件管理合適的狀態,做好狀態的合理分層,會大大降低應用復雜度。然后,redux有個很先進的概念叫容器組件和純展示組件,如果領悟了這個設計思路的話,把復雜的東西集中到少部分組件中,大部分組件就變成純展示組件,進一步降低應用復雜性。
MVVM一個最顯著的特征:雙向綁定。
React沒有這個,它是單向數據綁定的。
React是一個單向數據流的庫,狀態驅動視圖。
State --> View --> New State --> New View
以上就是關于“react不是mvvm框架的原因是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。