React是不是MVVM架构
- 首先说结论:不是
一、MVVM
Model-View-ViewModel
:一句话概括MVVM
,操作数据,就是操作视图,就是操作DOM。- 开发者只需要完成包含申明绑定的视图模板,编写
ViewModel
中业务数据变更逻辑,View层则完全实现了更新自动化。 MVVM
降低了前端应用的操作复杂度、极大提升了应用开发的效率。MVVM
最标志的特性是数据绑定,核心理念是通过申明式的数据绑定实现View层和其它层的分离。完全解耦View层这种理念,也是的Web前端的测试用例编写变得简单。
MVVM框架说到底就是一种分层框架,分层如下:
-
Model
:域模型,用于持久化(对应数据层的域模型,主要做域模型的同步。通过ajax/fetch等API,完成客户端与服务端业务Model的同步。主要用于抽象出ViewModel
中视图的Model)。 -
View
:作为视图模板存在(整个View是一个动态模板,展现ViewModel
层的数据和状态。View层不负责处理状态,他负责的是数据绑定申明,事件绑定申明,指令申明)。 -
ViewModel
:作为视图的模型,为视图服务(把View需要的层数据暴露,对View层的数据绑定申明,指令申明,事件绑定申明负责,也就是处理View层的具体业务逻辑。ViewModel
底层做好了绑定属性的监听,当ViewModel
层中的数据发生变化时,View层会得到更新,而View中申明了双向绑定,一般是表单,框架也会监听View层的数据变换,然后更新ViewModel
层的数据)。 -
可以看得出来
MVVM
一个显著特征是数据双向绑定,所以说Vue
是一个MVVM
的典型代表。
二、React
- 正如React官网首页的那句:
React是用于构建用户界面的JavaScript库
; - React是单向数据绑定;
- React整体是函数式的思想,把组件设计成纯组件、状态和逻辑通过参数传入;
- 所以React的定位应该说是
MVVM
中的第二个V
更加合适,也就是View
; - 我感觉如果React使用了
MobX
用于全局数据状态管理,那么它就是MVVM
了,众所周知Mobx
的状态就是数据双向绑定的。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhffkhif
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01