Hi,
I'm the author of RTK Query.
Please do not use that kind of createRequest helper function.
That is taken from a tutorial that grossly misunderstands what baseQuery is made for (and spreading to other tutorials now).
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 here:
export const api = createApi({
baseQuery: fetchBaseQuery({
baseUrl,
prepareHeaders: (headers, { getState, endpoint, type, forced }) => {
headers.set("Accept", "application/vnd.api+json")
return headers
}
}),
endpoints: (builder) => ({
getSomeStuff: builder.query({
query: () => { url: `/someStuff` }
}),
})
});
I would greatly appreciate it if you could change that up in this tutorial as this is essentially a bad practice and we do not want it to spread.
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 made for (and spreading to other tutorials now).Essentially,
baseQuery is 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 here:export const api = createApi({ baseQuery: fetchBaseQuery({ baseUrl, // either you can just set `headers` here: // headers: { "Accept": "application/vnd.api+json" } // 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") return headers } }), endpoints: (builder) => ({ getSomeStuff: builder.query({ query: () => { url: `/someStuff` } // or the short notation: if you only have an `url` just pass a string // query: () => `/someStuff` }), }) });I would greatly appreciate it if you could change that up in this tutorial as this is essentially a bad practice and we do not want it to spread.