redux – mapDispatchToProps方法中的访问状态

我已经使用redux编写了一个容器组件,我的mapdispathToProps的实现看起来像这样
const mapdispatchToProps = (dispatch,ownProps) => {
    return {
        onChange: (newValue) => {
            dispatch(updateAttributeSelection('genre',newValue));
            dispatch(getTableData(newValue,ownProps.currentYear));
        }
    }
}

问题是为了getTableData我需要一些其他组件的状态.如何在这方法中访问状态对象?

您可以使用redux-thunk创建一个单独的动作创建者函数,该函数可以访问getState,而不是定义mapdispatchToProps中的函数
function doTableActions(newValue,currentYear) {
    return (dispatch,getState) => {
        dispatch(updateAttributeSelection('genre',newValue));
        let state = getState();
        // do some logic based on state,and then:
        dispatch(getTableData(newValue,currentYear));
    }
}


let mapdispatchToProps = (dispatch,ownProps) => {
    return {
        onChange : (newValue) => {
            dispatch(doTableActions(newValue,ownProps.currentYear))
        }
    }
}

一些不同的方法来组织这些,但是这样的东西应该是有效的.

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...