required file
----------------
src>features>api>apiConfig.js,endPoint.js,index.js
.env
Home.jsx
=========================================================
.env
VITE_API_BASE_URL="https://safe.axletechmm.com/api"
==========================================================
api>apiConfig.js
export const apiConfig = {
baseUrl: import.meta.env.VITE_API_BASE_URL,
};
===================================================================
api>index.js
import { createApi } from "@reduxjs/toolkit/query/react";
import { fetchBaseQuery } from "@reduxjs/toolkit/query";
import { apiConfig } from "./apiConfig";
const baseQuery = fetchBaseQuery(apiConfig);
export const api = createApi({
reducerPath: "api",
baseQuery,
endpoints: (builder) => ({
getApi: builder.query({
query: (name) => name,
providesTags: ["getData"],
}),
mutationApi: builder.mutation({
query: ({ endpoint, method, body }) => {
return {
url: endpoint,
method: method,
body,
};
},
invalidatesTags: ["getData"],
}),
}),
});
export const { useMutationApiMutation, useGetApiQuery } = api;
==================================================================
endPoint.js
export const endPoint = {
loginEndPoint : "/auth/login",
usersEndPoint:"/users"
}
=====================================================================
Home.jsx
import { useGetApiQuery } from "../../features/api";
import { endPoint } from "../../features/api/endPoint";
const Home = () => {
const { data, isLoading, isError, error } = useGetApiQuery(endPoint.usersEndPoint);
console.log(data);
return (
<div>
Home
</div>
)
}
export default Home