我有一对Redux操作,当按钮被按下时,我想要调度它们。其中一个应该获取服务列表并对其执行reducer逻辑,而另一个应该只触发reducer中的一些逻辑:
function retrieveServices(services) {
return {
type: RETRIEVE_SERVICES,
services,
};
}
function toggleSubmitState() {
return {
type: TOGGLE_SUBMIT_STATE,
};
}我假设下面的操作可以做到这一点:
export function submitGameplan(services) {
return (dispatch => {
dispatch(toggleSubmitState());
dispatch(retrieveServices(services));
};
}下面是我在组件中调用它的方式:
const { submitter, dispatch, services } = this.props;
const submitWithServices = () => {
dispatch(submitter(services));
};
return (
<div>
<button onClick={submitWithServices}>
<div>Submit</div>
</button>
</div>
);其中传入的submitter操作是submitGameplan。
虽然redux-thunk似乎正在获取操作并触发它(我正在获取console.log输出),但它并没有分派操作。
除了我在操作中错误调用函数的可能性(很可能)之外,可能还有一些问题,因为我在主要的应用程序级组件中这样做了:
const boundActions = bindActionCreators(actions, dispatch);然后将所有操作作为boundActions传递,因此我的组件将获得boundActions.submitGameplan。
尽管如此,我仍然不确定为什么这个操作不能按照编写的那样发送这两个操作中的任何一个。
发布于 2017-06-22 15:38:01
事实证明,这是在重新编译之后工作的,不知道为什么它以前不工作。
https://stackoverflow.com/questions/43999426
复制相似问题