react不是mvvm框架的原因是什么(mvvm,react,web开发)

时间:2024-04-27 23:25:32 作者 : 石家庄SEO 分类 : web开发
  • TAG :

    react%E4%B8%8D%E6%98%AFmvvm%E6%A1%86%E6%9E%B6%E7%9A%84%E5%8E%9F%E5%9B%A0%E6%98%AF%E4%BB%80%E4%B9%88

因为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是一个单向数据流的库,状态驱动视图。

本文:react不是mvvm框架的原因是什么的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:怎么使用CSS绘制一个可爱卡通狮子动画下一篇:

8 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18