An async state management library that simplifies fetching, caching, synchronizing, and updating server state for web applications.
TanStack Query is an asynchronous state management library that simplifies fetching, caching, synchronizing, and updating server state in web applications. It handles complex data operations like background updates, pagination, and mutations while reducing boilerplate code. The library is protocol-agnostic and works with REST, GraphQL, promises, and other data sources.
Frontend developers building data-intensive web applications with React, Vue, Svelte, or Solid who need robust server-state management. It's particularly valuable for teams dealing with complex data fetching, caching, and synchronization requirements.
Developers choose TanStack Query because it provides a comprehensive, declarative approach to server-state management with zero configuration for common use cases. Its automatic caching, background updates, and intelligent refetching strategies eliminate manual state management complexity while ensuring optimal performance.
🤖 Powerful asynchronous state management, server-state utilities and data fetching for the web. TS/JS, React Query, Solid Query, Svelte Query and Vue Query.
Allows developers to define data operations declaratively, reducing boilerplate code as emphasized in the library's philosophy of simplifying server-state management.
Provides automatic caching and background updates with configurable refetching strategies, key for handling server-state efficiently without manual intervention.
Native support for paginated data and infinite scroll interfaces, simplifying common data presentation patterns directly from the key features list.
Works with REST, GraphQL, promises, and other data sources, offering flexibility in data fetching as highlighted in the protocol-agnostic fetching feature.
Adds to the JavaScript bundle, which can affect load times in performance-sensitive applications, as indicated by the bundle size badge in the README.
Requires configuring QueryClient and wrapping the application with providers, adding overhead for small projects where simpler solutions might suffice.
Features like dependent queries and custom cache invalidation have a learning curve that can slow down new developers, despite the comprehensive documentation.
Promise based HTTP client for the browser and node.js
React Hooks for Data Fetching
A tiny wrapper built around fetch with an intuitive syntax. :candy:
Stale-while-revalidate data fetching for Vue
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.