«

combineReducers报错

emer 发布于 2019-7-11 22:02   2053 次阅读     


reducer必须返回对象,根据type执行对象的语句的switch函数,break,没有return,或者return返回的不是object。所以报错
因为redux初始化reducer会默认传入几个随机的action,用来检测你reducer的返回值是否是undefined,如果是,reducer就会提示你。用来确保reducer的正常工作!
你检查下你的reducer的写法就好了,确保返回的类型都是object类型。一种便利的解决方案就是在reducer的第一个参数里指定默认值比如:

function pageAReducer( state = {} , action ){ switch( action.type ){ case 'actionA': return state ; default: // default 确保没有匹配的action.type的时候,保证了pageAReducer返回值正确而不是undefined return state ;
   }
}