如何输入从 axios AsyncThunk 获取错误响应数据

问题描述 投票:0回答:1

我很难访问错误响应数据,代码在 javascript 上工作,我转移到打字稿,现在事情很混乱。目前我得到的“错误”类型为“未知”。ts(18046)

export const registerClient = createAsyncThunk('clients/register', async (userData: object, { rejectWithValue }) => {
  try {
    const response = await axiosInstance.post('/web/client/register', userData);
    return response.data;
  } catch (error) {
    return rejectWithValue(error.response.data.error);
  }
});

我尝试过的事情

  • return rejectWithValue((error as any).response.data.error);
    - 任何意外,我都不能使用任何类型
  • 尝试在代码下面创建一个新界面 - 出现此错误,
    error' is of type 'unknown'
interface ErrorResponse {
  error: string;
}

const errorResponse: ErrorResponse = error.response.data;
return rejectWithValue(errorResponse.error);

任何人对此都有适当的解决方案 非常感谢你

typescript express error-handling axios
1个回答
0
投票

基本上,Typescript 在严格模式下会抱怨错误是

unknown
类型。

因此您可以将类型设置为

catch(error: any)
中的任何类型以使错误消失或更改 在您的
useUnknownInCatchVariables
文件中将
tsconfig.json
标记为 false:

"compilerOptions": {
   "useUnknownInCatchVariables": false   
}
© www.soinside.com 2019 - 2024. All rights reserved.