我有一个产品组件,它向“/api/products”发出 GET 请求。在后端的路由处理函数中,我抛出一个错误并向客户端发送一条自定义错误消息(“未授权”)。

在客户端,我想显示从服务器发送的自定义错误消息。但是,当我对操作对象进行 console.log 时,错误消息显示:“请求失败,状态代码为 500”。

如何访问从服务器发回的错误消息?
我对 createAsyncThunk 中的错误处理进行了一些研究。根据文档,我可以使用rejectWithValue处理错误。但我不知道如何在我的情况下实现它。
代码片段如下:
产品Slice.js
import { createSlice, createAsyncThunk } from "@reduxjs/toolkit";
import axios from "axios";
const initialState = {
status: "idle",
products: [],
error: null,
};
export const fetchProducts = createAsyncThunk(
"products/fetchProducts",
async () => {
const { data } = await axios.get("/api/products");
return data;
}
);
export const productsSlice = createSlice({
name: "products",
initialState,
reducers: {},
extraReducers: {
[fetchProducts.fulfilled]: (state, action) => {
state.status = "succeeded";
state.products = …Run Code Online (Sandbox Code Playgroud)