请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,请问 两个reducer ,是怎么分别和自己的state 联系在一起的。

const rooterReducer = combineReducers({counter, logReducer});  这里没有传递state,是怎么分别对应上的

正在回答

1回答

其实就是用对象管理的,直接看 redux 源码

    for (let i = 0; i < finalReducerKeys.length; i++) {
      const key = finalReducerKeys[i]
      const reducer = finalReducers[key]
      const previousStateForKey = state[key]
      const nextStateForKey = reducer(previousStateForKey, action)
      if (typeof nextStateForKey === 'undefined') {
        const errorMessage = getUndefinedStateErrorMessage(key, action)
        throw new Error(errorMessage)
      }
      nextState[key] = nextStateForKey
      hasChanged = hasChanged || nextStateForKey !== previousStateForKey
    }

dispatch执行 reducers 时,根据 reducers 的名字,传入不同的 state

0 回复 有任何疑惑可以回复我~
  • export function logReducer (state={isAuth: false, user: 'Admain'}, action) 
    老师请这样写的时候,dispach 会自动识别 state的默认参数值对吧。
    回复 有任何疑惑可以回复我~ 2017-11-25 11:45:46
  • 非常感谢!
    回复 有任何疑惑可以回复我~ 2017-11-27 14:59:51
问题已解决,确定采纳
还有疑问,暂不采纳
Redux+React Router+Node.js全栈开发
  • 参与学习       1822    人
  • 解答问题       750    个

全网唯一的React 16+Redux+React Router4实战课程,学到手是你的真本领!

了解课程
意见反馈 帮助中心 APP下载
官方微信