十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本文小编为大家详细介绍“react是mvvm框架吗”,内容详细,步骤清晰,细节处理妥当,希望这篇“react是mvvm框架吗”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
创新互联是一家专业提供永修企业网站建设,专注与成都网站制作、成都网站设计、H5场景定制、小程序制作等业务。10年已为永修众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
react不是mvvm框架。mvvm框架需要有一个vm对象来映射view,也即vm对象的属性发生改变的时候,对应的视图部分会相对应更新;而react中并没有vm对象,有的是属性和状态,整体可作为View使用,所以react不是mvvm框架。
本教程操作环境:Windows10系统、react17.0.1版、Dell G3电脑。
react不是mvvm框架
首先搞明白mvvm是啥意思。vm是view mode的意思。
所以mvvm框架是要有一个vm对象,来映射view。也就是vm对象的属性发生改变的时候,对应的视图部分会相对应更新。
比较经典的有knockoutjs,里面比较关键的概念就是view model,compute,view模板等。对的,vue中其实是有不少它的影子。
然后来看看react,它没有纯粹意义上的vm对象,它有的是属性和状态。
React可以作为MVVM中第二个V,也就是View,但是并不是MVVM框架。
MVVM一个最显著的特征:双向绑定。
React没有这个,它是单向数据绑定的。
React是一个单向数据流的库,状态驱动视图。
react整体是函数式的思想,把组件设计成纯组件,状态和逻辑通过参数传入,所以在react中,是单向数据流,推崇结合immutable来实现数据不可变。
然后来看看react,它没有纯粹意义上的vm对象,它有的是属性和状态。用属性和状态去映射视图。那么属性和状态和vm有什么区别呢?个人认为,vm对象不管你值是从外部传进来的还是自己内部定义的,最后都一视同仁。很多情况还有双向绑定的机制,可能早期的flex,让人感到惊艳吧,后面的mvvm框架都有双向绑定的概念。而react,强调的是属性不可变性,单向数据流。
内部的状态内部自己控制。这样的设计可能从设计上更复杂一些,但是从使用上变得更确定,更清晰了。如果react用的比较熟,给合适的组件管理合适的状态,做好状态的合理分层,会大大降低应用复杂度。然后,redux有个很先进的概念叫容器组件和纯展示组件,如果领悟了这个设计思路的话,把复杂的东西集中到少部分组件中,大部分组件就变成纯展示组件,进一步降低应用复杂性。
读到这里,这篇“react是mvvm框架吗”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。