Maison > Questions et réponses > le corps du texte
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
PHPz2017-04-11 10:39:46
兄弟我来告诉你吧,之前我也遇到了相同的问题。解决很简单:
先来说说,不用combineReducers的时候,state 是一个对象,他就指 你的单个reducer, 所以你react-redux 中的connect 第一个参数函数可以这么写:
function mapStateToProps(state) {
return {
value: state.count,
data:state.data,
text:state.text
}
}
上面是没有问题的,但是当你用了combineReducers 的时候,他就好比像这样了:
{
reducer1:{},
reducer2:{},
reducer3:{}
.....
}
你因该明白了吧,你那个是没有反映也不抱错,是因为获取的都是null,也就是 state.xxx 是null了,
你只要,修改如下:
function mapStateToProps(state) {
return {
value: state.reducer1.count,
data:state.reducer1.data,
text:state.reducer1.text
}
}
其中reducer1 就是你combineReducers 中的一个key值。
不同的reducer 有不同的名字
希望我能帮助你。