一、前言
很多人可能觉得 MVVM 与 React-Redux 两者拿来对比毫无可比性,但!我要说的是,它俩还真有可比性。
先给大家介绍两者,不过,今天的主题是讲 VM。
二、MVVM
MVVM对应的就是:Model(M)、View(V)、ViewModel(VM);
想了解框架模式可以看我的另一篇文章:《框架模式:MVC、MVP、MVVM、MVPVM》
FaceBook提出擅长人做擅长事,因此发明了:React、Redux、GraphQL;对比MVVM,则分别是 V、VM、M;
大家看出来了吧,原来 。
三、VM(ViewModel)
在VM概念中,VM的职责:
- 负责持有 View 的状态(输入、选中等);
- 调用 Model 来获取远端数据(网络、数据库、文件、内存等);
- 状态的更新,通知 View 刷新;
我们来看看 Redux 的功能:
- View 的状态都存储在 Reducer 中;
- View 的响应,触发 Action 来获取数据(如:Fetch / Axios / GraphQL调用网络获取数据);
- state 的返回(返回新的 state 对象,否则 store 认为没有改变)通知 View 刷新;
看见没有?Redux 的功能与 VM 的职责如出一致!
网友评论