Vue Query alternatives and similar libraries
Based on the "API" category.
Alternatively, view vue-query alternatives based on common mentions on social networks and blogs.
-
React Query
DISCONTINUED. ๐ค Powerful asynchronous state management, server-state utilities and data fetching for TS/JS, React, Solid, Svelte and Vue. [Moved to: https://github.com/TanStack/query] -
urql
The highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow. -
Optic
DISCONTINUED. OpenAPI linting, diffing and testing. Optic helps prevent breaking changes, publish accurate documentation and improve the design of your APIs. -
SapphireDb
SapphireDb Server, a self-hosted, easy to use realtime database for Asp.Net Core and EF Core -
@kendevelops/auth-flow-kit
A global authentication state toolkit for React with prebuilt UI screens and a globally accessible useAuth() hook. No separate stores, persistence layers, or setup files required. Integrates directly at the app layout level, with auth state remaining consistent across refreshes without manual persistence. -
Hatchify
JavaScript, open source, CRUD app scaffolding that turns schemas into an app quickly, while allowing customization later. -
prim-rpc
Easy-to-understand, type-safe, transport-agnostic RPC/IPC for JavaScript, supporting callbacks, batching, file handling, custom serialization, and more. -
Bearer API Client for JavaScript
DISCONTINUED. Bearer provides all of the tools to build, run and manage API integrations. -
AgentDoor
The pre-auth layer for the agentic internet. Agents register, authenticate, and pay โ programmatically. 3 lines of code. < 500ms
Kargo - Stop Scripting Promotions. Start Shipping with Kargo
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Vue Query or a related project?
README
[Vue Query logo](./media/vue-query.png)
:warning: Package migration :warning:
This package was migrated to be a part of https://github.com/TanStack/query.
If you are still on v1 make sure to follow migration guide first and then switch to @tanstack/vue-query.
If you are already on v2, just swap vue-query for @tanstack/vue-query in both of your package.json and import statements. Everything should still work as before.
Vue Query
Hooks for fetching, caching and updating asynchronous data in Vue.
Support for Vue 2.x via vue-demi
Based on react-query
Documentation
Visit https://vue-query.vercel.app
Visit https://vue-query-next.vercel.app for V2 documentation
For topics not covered in vue-query docs visit react-query docs as most of the concepts and APIs are the same.
Quick Features
- Transport/protocol/backend agnostic data fetching (REST, GraphQL, promises, whatever!)
- Auto Caching + Refetching (stale-while-revalidate, Window Refocus, Polling/Realtime)
- Parallel + Dependent Queries
- Mutations + Reactive Query Refetching
- Multi-layer Cache + Automatic Garbage Collection
- Paginated + Cursor-based Queries
- Load-More + Infinite Scroll Queries w/ Scroll Recovery
- Request Cancellation
- (experimental) Suspense + Fetch-As-You-Render Query Prefetching
- (experimental) SSR support
- Dedicated Devtools
(depending on features imported)
Quick Start
Install
vue-querynpm install vue-query # or yarn add vue-queryIf you are using Vue 2.x, make sure to also setup @vue/composition-api
Initialize Vue Query via VueQueryPlugin
import { createApp } from "vue";
import { VueQueryPlugin } from "vue-query";
import App from "./App.vue";
createApp(App).use(VueQueryPlugin).mount("#app");
- Use query
import { defineComponent } from "vue";
import { useQuery } from "vue-query";
export default defineComponent({
name: "MyComponent",
setup() {
const query = useQuery("todos", getTodos);
return {
query,
};
},
});
- If you need to update options on your query dynamically, make sure to pass them as reactive variables
const id = ref(1);
const enabled = ref(false);
const query = useQuery(["todos", id], () => getTodos(id), { enabled });
*Note that all licence references and agreements mentioned in the Vue Query README section above
are relevant to that project's source code only.