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
๐ค 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. -
Apollo and GraphQL for Vue.js
๐ Apollo/GraphQL integration for VueJS -
Swagger Client
Javascript library to connect to swagger-enabled APIs via browser or nodejs -
wretch
A tiny wrapper built around fetch with an intuitive syntax. :candy: -
Optic
Optic makes it easy to document your APIs, prevent breaking changes, and follow an API style-guide -
SapphireDb
SapphireDb Server, a self-hosted, easy to use realtime database for Asp.Net Core and EF Core -
amygdala
RESTful HTTP client for JavaScript powered web applications. -
oauth-signature-js
JavaScript OAuth 1.0a signature generator (RFC 5849) for node and the browser -
Rails Ranger
๐ค An opinionated AJAX client for Ruby on Rails APIs -
Angular Chat App Example
Build a simple group chat application with Angular 7 from scratch -
GazeRecorder
GazeRecorder | Behavior Analytics Made Easy | Website Eye-Tracking Heatmaps -
Bearer.sh
Universal API client that supports OAuth / API Key / Basic / etc. -
Bearer API Client for JavaScript
Bearer provides all of the tools to build, run and manage API integrations. -
Vicis
Presentation and transformation layer for data output in RESTful APIs.
Appwrite - The Open Source Firebase alternative introduces iOS support
* 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-query
npm install vue-query # or yarn add vue-query
If 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.