Redux简介
来源:互联网 发布:文件恢复软件下载 编辑:程序博客网 时间:2024/06/06 06:46
Redux
Redux是 JavaScript 状态容器,提供可预测化的状态管理。
Redux是应用状态管理服务。虽然本身受到了Flux很深的影响,但是其核心概念却非常简单,就是 Map/Reduce中的Reduce。
redux的三大原则:
1.state是只读的
惟一改变state的方法就是触发action,action是一个用于描述已发生事件的普通对象。action是把数据从应用传到store的有效载荷。它是store数据的唯一来源。一般来说你会通过 store.dispatch() 将 action传到store。在redux中,改变state只能通过action。并且,每一个action都必须是Javascript Plain Object
2.使用纯函数来执行修改
为了描述action如何改变 state,你需要编写reducers。action只是描述了有事情发生了这一事实,并没有指明应用如何更新state。而这reducer要做的事情。reducer就是一个纯函数,接收旧的state和 action,返回新的state。之所以称作 reducer 是因为它将被传递array.prototype.reduce(reducer, ?initialValue) 方法。保持reducer纯净非常重要。永远不要在 reducer 里做这些操作:修改传入参数;执行有副作用的操作,如API请求和路由跳转;调用非纯函数,如 Date.now() 或 Math.random()。
3.单一数据源
整个应用的state被储存在一棵object tree中,并且这个object tree只存在于唯一一个store中。Store是把action、reducer联系到一起的对象,维持应用的state;提供getState()方法获取state;提供 dispatch(action) 方法更新 state;通过 subscribe(listener) 注册监听器;通过 subscribe(listener) 返回的函数注销监听器。redux 应用只有一个单一的 store。当需要拆分数据处理逻辑时,你应该使用reducer组合而不是创建多个 store。
Redux是 JavaScript 状态容器,提供可预测化的状态管理。
Redux是应用状态管理服务。虽然本身受到了Flux很深的影响,但是其核心概念却非常简单,就是 Map/Reduce中的Reduce。
redux的三大原则:
1.state是只读的
惟一改变state的方法就是触发action,action是一个用于描述已发生事件的普通对象。action是把数据从应用传到store的有效载荷。它是store数据的唯一来源。一般来说你会通过 store.dispatch() 将 action传到store。在redux中,改变state只能通过action。并且,每一个action都必须是Javascript Plain Object
2.使用纯函数来执行修改
为了描述action如何改变 state,你需要编写reducers。action只是描述了有事情发生了这一事实,并没有指明应用如何更新state。而这reducer要做的事情。reducer就是一个纯函数,接收旧的state和 action,返回新的state。之所以称作 reducer 是因为它将被传递array.prototype.reduce(reducer, ?initialValue) 方法。保持reducer纯净非常重要。永远不要在 reducer 里做这些操作:修改传入参数;执行有副作用的操作,如API请求和路由跳转;调用非纯函数,如 Date.now() 或 Math.random()。
3.单一数据源
整个应用的state被储存在一棵object tree中,并且这个object tree只存在于唯一一个store中。Store是把action、reducer联系到一起的对象,维持应用的state;提供getState()方法获取state;提供 dispatch(action) 方法更新 state;通过 subscribe(listener) 注册监听器;通过 subscribe(listener) 返回的函数注销监听器。redux 应用只有一个单一的 store。当需要拆分数据处理逻辑时,你应该使用reducer组合而不是创建多个 store。
阅读全文
0 0
- Redux简介
- Redux简介
- Redux简介
- Redux概念之一: Redux简介
- Redux框架简介
- Reactjs+Redux 简介
- 关于redux的入门简介
- 技术分享- RxJS与Redux-Observable简介
- Redux
- Redux
- Redux
- redux
- redux
- Redux
- Redux
- Redux
- Redux
- Redux
- 【Vuforia】Vuforia实现自动对焦的代码
- 简单排序——直接插入排序
- LINUX下如何创建TCP客户端和服务器,实现通信
- const修饰变量的总结
- windows下编译openssl
- Redux简介
- C++学习笔记——继承与派生
- [RK3288][Android6.0] 调试笔记 --- Camera Preview原始数据帧dump
- printf/fprintf/sprintf/snprintf输出函数
- mybatis foreach 属性及其三种使用情况
- 前端之移动端
- ListView getChildAt()为空问题
- H3C MSR26-00 路由器限速
- android com.android.support:design库使用