状态改变后进行ajax调用

时间:2017-12-26 19:31:25

标签: redux

我想在我的页面上实现基于复选框的过滤。当我点击复选框时,我想根据选中的项目更改状态并进行ajax调用。

我创建了toggleCheckbox(id)动作和减少器,用于添加/删除所选项目的ID,但我不知道应该在哪里进行ajax调用。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您的组件应调度异步操作,以避免重复切换所选项目的逻辑将其移至异步操作并将正常操作从切换更改为设置。像这样:

const toggleCheckbox = id => (dispatch, getState) => {
    const items = toggle(id, getState().selectedItems);
    dispatch(setSelectedItems(items));
    // call API with "items"
};

答案 1 :(得分:0)

网络调用是异步的,默认情况下操作是同步的。它们只是简单的对象。要处理异步行为,您需要一个副作用库,如redux-sagas或redux-thunks。请查看https://redux.js.org/docs/advanced/AsyncActions.htmlhttps://redux-saga.js.org