@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