react-redux 的connect无法获取store数据
新手攻react,配置redux的时候发现如下问题:
组件使用connect连接store的时候无法获取数据。mapStateToProps
里的state
是没有数据的
testRedux.jsx
const mapStateToProps = (state) =>{
return {
num: state.num,//这里会报错
info: state.info
}
}
const mapDispatchToProps = (dispatch)=>{
...
}
class TestRedux extends Component{
...
}
TestRedux = connect(mapStateToProps,mapDispatchToProps)(TestRedux)
export default TestRedux
Reducer 在这里:
const defaultState={
num:0,
info:"default"
}
export const addReducer = (state = defaultState,action = {})=>{
switch (action.type) {
case CHANGE_TEST_COUNT:
return {...state,num:action.num}
case ADD_TEST_COUNT:
state.num++;
return {...state,info:action.info}
case REDUCE_TEST_COUNT:
state.num--;
return {...state,info:action.info}
default:
break;
}
}
错误信息:
困扰很久,如能赐教,不胜感激
4 回复
修改成如下,再试一试 state.num 改成 state. addReducer.mun state.info 改成 state. addReducer.info
如果 state 没有数据,那么你的 reducer 还没有配置正确,需要看更多的代码才好判断。
@54sword 谢谢回答,不过还是不行,state这个对象就是undefined,为什么会这样呢?
可以看一下这个demo https://github.com/luozhihao/react-redux-demo
@54sword 好的谢谢您了