@void-snippets/react
Setup
Configure axios, QueryClientProvider, and optional peer dependencies.
#QueryClient setup
Before using any of the resource hooks, wrap your app with TanStack Query's QueryClientProvider:
tsx
// main.tsx
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
const queryClient = new QueryClient({
defaultOptions: {
queries: {
retry: 1, // retry failed requests once before showing an error
staleTime: 30_000, // 30 seconds before a background refetch is triggered
},
},
});
root.render(
<QueryClientProvider client={queryClient}>
<App />
</QueryClientProvider>
);#axios setup
Configure your axios instance before any service class is imported:
typescript
// lib/http.ts ← import this at the top of main.tsx / main.ts
import axios from 'axios';
import { configure } from '@void-snippets/client';
configure(
axios.create({
baseURL: import.meta.env.VITE_API_URL,
headers: { 'Content-Type': 'application/json' },
})
);#Import order in main.tsx
tsx
// main.tsx
import './lib/http'; // 1. configure axios first
import { QueryClientProvider, ... } from '@tanstack/react-query';
import App from './App';
// 2. then everything else