Please do not use that kind ofcreateRequesthelper function. That is taken from a tutorial that grossly misunderstands whatbaseQuery is for - and seems to be spreading further.
Essentially, baseQuery is already a createRequest function like this - the return value of an endpoint's query function will be passed as first argument into baseQuery, which will in the case of fetchBaseQuery then call fetch.
So please use fetchBaseQuery correctly instead:
export const categoriesApi = createApi({
reducerPath: 'someApi',
baseQuery: fetchBaseQuery({
baseUrl,
// either you can just set `headers` here:
// headers: someHeaders
// or you use `prepareHeaders` where you can do some calulations and have access to stuff like `getState` or the endpoint name
prepareHeaders: (headers, { getState, endpoint, type, forced }) => {
headers.set("Accept", "application/vnd.api+json")
headers.set("Content-Type": "application/vnd.api+json")
return headers
}
}),
endpoints: (builder) => ({
getAllCategories: builder.query({
query: () => { url: `/someUrl` }
// or the short notation: if you only have an `url` just pass a string
// query: () => `/someUrl`
}),
})
});
Comments about How to Fetch API Data With RTK (Redux-Toolkit)
Hi, Iām the author of RTK Query.
Please do not use that kind of
createRequesthelper function.That is taken from a tutorial that grossly misunderstands what
baseQueryis for - and seems to be spreading further.Essentially,
baseQueryis already acreateRequestfunction like this - the return value of an endpoint'squeryfunction will be passed as first argument intobaseQuery, which will in the case offetchBaseQuerythen callfetch.So please use
fetchBaseQuerycorrectly instead:š+