An Easy Way to Make API Calls: Redux Toolkit
When I started learning React, I remember among the complaints made by React developers, one seemed to stand out the most—Redux! A predictable state container for JavaScript and React applications has been a nightmare for most React developers, rangi...
captain-eo.hashnode.dev10 min read
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.