react-redux 的connect无法获取store数据
发布于 5 年前 作者 BubblyFace 5194 次浏览 来自 问答

新手攻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;
    }
}

错误信息: image.png

困扰很久,如能赐教,不胜感激

4 回复

修改成如下,再试一试 state.num 改成 state. addReducer.mun state.info 改成 state. addReducer.info

如果 state 没有数据,那么你的 reducer 还没有配置正确,需要看更多的代码才好判断。

@54sword 谢谢回答,不过还是不行,state这个对象就是undefined,为什么会这样呢?

@54sword 好的谢谢您了

回到顶部