react第五天学习笔记

1.纯函数的概念:Redux中的纯函数表示只要传入参数相同,返回计算得到的下一个 state 就一定相同。没有特殊情况、没有副作用,没有 API 请求、没有变量修改,单纯执行计算。

  1)不能有副作用(不能对根数据就行改变)

  2)什么样的输入就会有什么样的输出

2.Reducer中的概念分析:

  1)Reducer就是纯函数,它接收先前的state和action,并返回新的state

    function todos(state = [], action) {

      switch (action.type) {

        case 'ADD_TODO':

          return state.concat([{ text: action.text, completed: false }]);

        case 'TOGGLE_TODO':

          return state.map((todo, index) => action.index === index ? { text: todo.text, completed: !todo.completed } : todo )

        default: return state;

      }

     }

  2)action是数据从应用传递到store中的有效载荷。它是store数据的唯一来源!一般来说你会通过store.dispatch() 将 action 传到 store。Action本质上是一个对象,但是我们约定,action 内必须使用一个字符串类型的 type 字段来表示将要执行的动作。除了 type 字段外,action 对象的结构完全由你自己决定。

  3)Reducer 合并:在开发的时候,reducer也需要进行模块化分割,不同的模块定义不同的state初始值以及对state的更改,为了将所有的状态集中起来暴露,需要对reducer进行合并

     let rootReducer = combineReducers({ studentState:studentReducer, memoState:memoReducer })

      // 创建一个 Redux store 来以存放应用中所有的 state。应用中应有且仅有一个 store。

     export default createStore(rootReducer)

    

猜你喜欢

转载自www.cnblogs.com/nyhhd/p/12322199.html