使用RTK查询生成的钩子绑定来自后端的响应,如下所示。
const { data, error } = useApiQuery();
生成rtk查询挂钩的代码
import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react";
export interface TestObject {
//some feilds
}
export const testApi = createApi({
reducerPath: "testApi",
baseQuery: fetchBaseQuery({ baseUrl: "http://localhost:3000/" }),
tagTypes: ['Test'],
endpoints: (builder) => ({
api: builder.query<TestObject[], any>({
query: () => `/testapi`,
providesTags: ['Test']
})
})
});
export const { useApiQuery } = testApi;
使用rtk查询响应中的错误对象来显示toast通知,如下所示。
export const App = () => {
return (
<>
{error && openNotification(error)}
//some code
</>
)
}
公开通知的实施如下。
import { notification } from 'antd';
export const openNotification = (errorObj: any) => {
if (errorObj) {
notification.open({
message: 'Exception Occured',
description: errorObj.message,
});
}
};
这里的问题是toast消息被多次显示,因为错误对象不会被清空。我怎样才能避免呢?