Redux零碎知识点回顾

1、什么是state:应用中所有的数据都以 state的形式存放在store中。

2、什么是store:一个应用中只有一个store,用来维持应用所有的state树的对象。一个 State 对应一个 View,因此store是一个包含多个state的容器。

3、什么是action:action本质是个普通对象,必须用一个type字段表示将要执行的动作。

4、store 里能直接通过 store.dispatch() 调用 dispatch() 方法,但是多数情况下你会使用 react-redux 提供的 connect() 帮助器来调用。

5、单一数据源:整个应用的 state 被储存在一棵 object tree 中,并且这个 object tree 只存在于唯一一个 store 中。

6、State是只读的:惟一改变 state 的方法就是触发 action,action 是一个用于描述已发生事件的普通对象。

7、使用纯函数 reducers执行修改:Reducer 只是一些纯函数,它接收先前的 state 和 action,并返回新的 state。

8、actionstatereducer:action描述发生了什么事情;reducer指明了如何更新state;

9、reducer不能有的3个操作:修改传入的参数、 API 请求和路由跳转、使用Date.now() 或 Math.random()等非纯函数。

10、可以在reducer里指定state初始化的数据,重点需要考虑的是应该如何设计state对象的结构。

11、当reducer多了就需要对reducer进行拆分,最后需要使用combineReducers对拆分的reducer进行合并。

import {combineReducers} from 'redux';
export default combineReducers({
  reducer1,
  reducer2
})

12、创建store:要创建store只需要把根部的 reducing 函数 传递给 createStore。

  createStore() 的第二个参数是可选的, 用于设置 state 初始状态。

import { createStore } from 'redux';
let store = createStore(reducer, [ 'Use Redux' ])

13、Redux 应用中数据的生命周期遵循下面 4 个步骤:  

  • 调用 store.dispatch(action)。
  • store 调用传入的 reducer 函数。
  • 根 reducer 应该把多个子 reducer 输出合并成一个单一的 state 树。
  • store 保存了根 reducer 返回的完整 state 树。

 

 

posted @ 2017-05-21 09:50  不由分说  阅读(167)  评论(0编辑  收藏  举报