redux解析

action

action:{
  type: String
  ...
}

reduce(state, action)

reduce是一个内部包含着switch的函数,且default总是被设置为返回state,其余选项皆返回被处理后的state,以此完成状态的更新.


subscribe(listener)

subscribe会把listener回调函数放入一个数组中,等待使用.同时也会返回一个unsubscribe函数,用以将之前放入的回调函数移出数组.


dispatch(action)

dispatch接收一个action,并将其给予当前的reduce,该reduce会返回一个新的state,他会替换掉之前的state.最后函数会返回这个action.


combineReducers(reduces)

该函数接收一个由reduce组成的对象,该对象的每一个属性皆为reduce.在该函数内部,他会从reduces对象中抽取每个reduce函数的名字并放入reducerKeys数组中.而reduce本身,则会通过循环,被存入finalReducers对象中.

最终该函数会返回一个新的函数作为reduce提供给createStore.

上面所说的这个reduce被执行时,会先被combineReducers中的遍历函数遍历finalReducers中的reduce属性,并执行他们.并将执行他们所获得的新state存入nextState对象中.


中间件

中间件会替换掉redux原本的createStore的内部代码,转而使用中间件处理.(赶工写的,没有怎么思考)


你可能感兴趣的:(redux解析)