Overview
The QueryManager
class provides comprehensive CRUD operations with advanced features like optimistic updates and automatic cache management. It internally uses two important classes: QueryKeys
for managing React Query keys and cache operations, and Mutations
for handling cache mutations and optimistic updates.
Architecture Overview
QueryManager
├── QueryKeys - Manages query keys and cache operations
├── Mutations - Handles cache mutations and optimistic updates
└── Hooks - Provides React hooks for CRUD operations
Core Concepts
QueryItem
All data items must extend the QueryItem
interface:
interface QueryItem {
id: string | number
}
// Example implementation
interface User extends QueryItem {
id: string
name: string
email: string
status: 'active' | 'inactive'
createdAt: string
}
Filter Types
Define filter interfaces for list queries:
interface UserFilters {
status?: 'active' | 'inactive'
search?: string
role?: string
}