redux1.0以及2.0笔记

安装
cnpm i redux react-redux -S

redux 不推荐使用场景
用户的使用方式非常简单 用户之间没有协作 不需要与服务器大量交互,也没有使用 WebSocket 视图层(View)只从单一来源获取数据

redux 推荐使用
用户的使用方式复杂 不同身份的用户有不同的使用方式(比如普通用户和管理员) 多个用户之间可以协作 与服务器大量交互,或者使用了WebSocket View要从多个来源获取数据

组件 角度考虑
某个组件的状态,需要共享 某个状态需要在任何地方都可以拿到 一个组件需要改变全局状态 一个组件需要改变另一个组件的状态

localStorage

Redux 的设计思想很简单 单向数据流 (flux 数据只能从 state 流向 view )
Web 应用是一个状态机,视图与状态是一一对应的。
所有的状态,保存在一个对象里面。 state
store
Store 就是保存数据的地方,你可以把它看成一个容器。整个应用只能有一个 Store。 Redux 提供createStore这个函数,用来生成 Store。

State 状态 -- 数据源 ==> store
Store对象包含所有数据。如果想得到某个时点的数据,就要对 Store 生成快照。这种时点的数据集合,就叫做 State Redux 规定, 一个 State 对应一个 View。只要 State 相同,View 就相同。你知道 State,就知道 View 是什么样,反之亦然

action
Action 就是 View 发出的通知,表示 State 应该要发生变化 Action 是一个对象。其中的type属性是必须的 { type:"xxxx" }

改变 State 的唯一办法,就是使用 Action。它会运送数据到 Store

Action Creator
封装 action 以函数实现 action 动态的action

store.dispatch()是 View 发出 Action 的唯一方法。
Reducer 计算 state 的函数
Store 收到 Action 以后,必须给出一个新的 State,这样 View 才会发生变化。这种 State 的计算过程就叫做 Reducer Reducer 是一个函数,它接受 Action 和当前 State 作为参数,返回一个新的 State

负责计算组件的初始化的state 初始化state 存储在 reducers

store.subscribe()
Store 允许使用store.subscribe方法设置监听函数,一旦 State 发生变化,就自动执行这个函数

store.getState() 获取store 里面的 state
redux 原理
component----(dispatch)---> actions ----> store ---action&state ==> reducers --- change state ---> store --- 刷新 component

组件点击事件其他方法 发送 action
store 接收到 action 会把 oldState 和 action 发送给 reducers
reduers 匹配对应的 action 就会修改 对应的 state
state 改变 store 触发监听函数 去修改 component
单向数据流管理组件的状态
store.getState() store.dispatch() store.subscribe()

如何添加异步
中间件就是一个函数,对store.dispatch方法进行了改造,在发出 Action 和执行 Reducer 这两步之间,添加了其他功能

使用中间件 就是要去改造 store.dispatch

没有改造之前 store.dispatch() 只能接收一个对象

经过中间件改造以后 store.dispatch() 不仅可以接收对象 还可以接收函数 (axios /ajax )
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值