【发布时间】:2021-12-20 16:14:41
【问题描述】:
我正在尝试使用我的 redux saga 函数并希望在 checkError redux saga 函数上传递错误:
export function* onCheck({payload}) {
try {
if (internetConnected) {
const response = yield call(checkApi, payload);
if (token) {
// do something
}
} else {
yield put(authenticateError, 'No Internet');
}
} catch (error) {
yield put(checkError, error);
}
}
我的行动是这样安排的:
export const checkError = (error) => {
return {
type: type.CHECK_IN_ERROR,
error,
};
};
我的减速器是这样的:
export default function (state = initialState, action) {
case type.CHECK_IN_ERROR:
return {
...state,
error: action.payload,
};
}
当我加载这个并尝试检查在我的 try/catch 上捕获错误时,它会抛出这个错误:
ExceptionsManager.js:114 Error: put(channel, action): argument function checkError(error) {
return {
type: type.CHECK_IN_ERROR,
error: error
};
} is not a valid channel
不确定我在这里做错了什么。请帮忙。
【问题讨论】:
标签: reactjs redux redux-saga