import { combineReducers } from 'redux';
function reducers(state = {
text: '你好,访问者',
name: '访问者'
}, action) {
switch (action.type) {
case 'change':
return {
name: action.payload,
text: '你好,' + action.payload
};
default:
return state;
}
};
const reducer = combineReducers({
reducers
})
export default reducer
不知道你说的没效果是没什么效果。。。确认一点,你的数据是保存在state.reducers下面的,并不是state下面的
reducer的函数名一般是有意义的
combineReducers一般是组合多个子reducer,只传一个不确定行不行
兄弟我来告诉你吧,之前我也遇到了相同的问题。解决很简单:
先来说说,不用combineReducers的时候,state 是一个对象,他就指 你的单个reducer, 所以你react-redux 中的connect 第一个参数函数可以这么写:
上面是没有问题的,但是当你用了combineReducers 的时候,他就好比像这样了:
你因该明白了吧,你那个是没有反映也不抱错,是因为获取的都是null,也就是 state.xxx 是null了,
你只要,修改如下:
其中reducer1 就是你combineReducers 中的一个key值。
不同的reducer 有不同的名字
希望我能帮助你。