上周学习了flux,这周研究了一下redux,其实很早之前都已经在研究他们了,只是之前一直没搞懂,最近这两周可能打通了任督二脉,都算入门了。
写博客的目的主要是做一下笔记,总结一下思路,以及和大家交流交流
在介绍redux之前,先回顾一下上周学习的flux:
flux的流程是:
view触发action中的方法;
action发送dispatch;
store接收新的数据进行合并,触发View中绑定在store上的方法; 数据的改变都是来自于store
通过修改局部state,改变局部view。
view-->action-->dispatch-->store-->view
如图所示:
这里只是大概介绍一下flux。
在介绍 redux之前,自己改版了一个官网的todomvc,让它只能增加和删除,因为感觉这样入门容易一点。
截图如下:只有新增和单个删除
代码在github上: https://github.com/xianyulaodi/reduxTodo
redux的流程是:(截取网上的一张图)
流程如下:在redux中用户的操作并不会直接导致view层的更新,而是view层发出actions
通知出发store
里的reducer
从而来更新state
;
state的改变会将更新反馈给我们的view层,从而让我们的view层发生相应的反应给用户。
redux中有三个基本概念,Action,Reducer,Store。
Action 作用。
1、用Action来分辨具体的执行动作。比如我是要添加一个项目还是删除一个项目。
2、操作数据首先得有数据。比如添加数据得有数据,删除数据得有ID。action就是存这些数据的地方。
3、不带其他数据,仅仅启示已有数据需要如何调整,或者需要主动获取哪些数据。如果我要删除掉全部数据,只要告知这件事即可
Reducer的作用:
官方描述&#