react native 中的redux 理解
2024-09-02 02:53:27
redux 中主要分为三大块,分别是Action Reducer 与Store。
1、Action是js的一个普通对象,是store数据的唯一来源。通过store.dispath()讲action传到store。action 内必须使用一个字符串类型的 type
字段来表示将要执行的动作。
2、Store中的state的可以说是一个字典(map),
3、Reducer 有两个参数,就得state 与action 返回新的state,这是一个纯函数。
如果调用某个action,只是改变这个state里面的某个属性值时,可以用 Object.assign()
新建了一个副本,也可以用ES7提案对象展开运算符的支持, 从而使用 { ...state, ...newState }
达到相同的目的。
react native中常用的是es7中的语法。
function todoApp(state = initialState, action) {
switch (action.type) {
case SET_VISIBILITY_FILTER:
return Object.assign({}, state, {
visibilityFilter: action.filter
})
default:
return state
}
}
注意第一个参数是{} 空的对象。
注意每个 reducer 只负责管理全局 state 中它负责的一部分。每个 reducer 的 state
参数都不同,分别对应它管理的那部分 state 数据。reducer 中有多个todos ,是一个数组,用它来改变数据,合成最终的reducer,这就是所谓的 reducer 合成。
最新文章
- ADO.NET一小记-select top 参数问题
- 最长不下降序列nlogn算法
- 【leetcode】Permutations
- 程序员写的东西出了bug,造成了损失谁来承担?
- 基于MVC4+EasyUI的Web开发框架经验总结(1)-利用jQuery Tags Input 插件显示选择记录
- JavaScript进阶(三)之对象
- $root knockout
- NGITOSS
- Mapreduce之序列化框架(转自http://blog.csdn.net/lastsweetop/article/details/9376495)
- hdu 3359 Kind of a Blur (高斯消元 浮点型)
- day-5
- 利用CSS3特性巧妙实现漂亮的DIV箭头
- JPEG流封装AVI视频
- Python 抽象篇:面向对象之类的方法与属性
- curl post请求总是返回417错误
- 软件工程(GZSD2015) 第二次作业文档模板
- MD5进行解密操作
- 用Python优雅的处理日志
- zombodb 配置设置
- Jquery Ajax 调用后台并返回数据