首页 > 解决方案 > 没有重载匹配此调用 - 简单传奇示例中的 redux-saga 错误

问题描述

以下代码给出了错误:No overload matches this call

const deleteListItem = (id: string) =>
  axios.delete(`http://localhost:4000/api/delete/${id}`);

function* deleteSaga(action: DeleteItemAction) {
  try {
    yield call(deleteListItem, action.id);
    yield put({
      type: DELETE_SUCCESS,
    });
  } catch (error) {
    yield put({
      type: DELETE_ERROR,
    });
  }
}

完整错误:

最后一个重载给出了以下错误。'(id: string) => Promise>' 类型的参数不能分配给 '{ context: unknown; 类型的参数。fn: (this: unknown, ...args: any[]) => any; }'。类型 '(id: string) => Promise>' 缺少来自类型 '{ context: unknown; 的以下属性 fn: (this: unknown, ...args: any[]) => any; }':上下文,fn TS2769

我已经浏览了所有 redux-saga 问题,但没有一个对我有帮助......

我可以这样做(action: any),但这不是我的解决方案......我的操作界面:

interface DeleteItemAction {
  id?: string;
}

标签: reduxredux-saga

解决方案


推荐阅读