State management

17 entries

Pinia is the official state management library for Vue and the default for new projects. It replaced Vuex as the recommendation, offers full TypeScript inference, works with Vue DevTools, and supports both Options-style and setup-style stores. Vuex still works but is in maintenance mode. Many listed entries extend Pinia: pinia-orm adds normalized, model-based access to records, pinia-xstate puts XState machines in a store, and several plugins persist state.

Persistence plugins differ in where they save and how they restore: pinia-persistedstate-2 and pinia-plugin-unstorage cover browser storage and unstorage drivers, while @tauri-store/pinia, for Tauri desktop apps, is archived. Outside Pinia, exome and v-bucket offer small stores, harlem has had no commit since mid-2024, and mobx-vue-lite brings MobX to the Composition API.

Many apps need less than they expect. A reactive object or a composable often covers shared client state, and data from an API is usually better handled by a query library such as TanStack Query, which caches and refetches it for you, than by copying it into a global store.

On the bench stars against last commit

17 entries

piniapinia

Intuitive, type safe, light and flexible Store for Vue using the composition api with DevTools support.

Vue 314.7kupdated 5d ago

effector

Fast and powerful reactive state manager. Effector lets you write simple, fast and type safe code and manage reactive state with ease.

Vue 2 only4.9kupdated 1d ago

pinia-ormpinia-ormPinia

The Pinia plugin to enable Object-Relational Mapping access to the Pinia Store.

Vue 3529updated 22d ago

harlem

Simple, unopinionated, lightweight and extensible state management for Vue 3

Vue 3515updated 2y ago

exomeexome

Simple proxy based state manager for deeply nested states.

Vue 3283updated 8mo ago

jsonapi-vuexjsonapi-vuexVuex

Use a JSONAPI api with a Vuex store, with client-side restructuring/normalization of records.

Vue 3154updated 2y ago

@tauri-store/piniaferreira-tb/tauri-storePinia

Persistent Pinia stores for Tauri.

Vue 3137archived

pinia-persistedstate-2pinia-plugin-persistedstate-2Pinia

Persist and rehydrate your Pinia state between page reloads.

Vue 3115updated 2d ago

mobx-vue-litemobx-vue-liteMobX

Lightweight Vue 3 bindings for MobX based on Composition API.

Vue 379updated 2y ago

pinia-xstatepinia-xstatePinia

Put your xstate state machines into a global pinia store.

Vue 365updated 1y ago

v-bucket@mediv0/v-bucket

Fast, Simple, and Lightweight State Management for Vue 3.0 built with composition API, inspired by Vuex.

Vue 344updated 2y ago

vue-datatable-url-syncvue-datatable-url-sync

Synchronize datatable options and filters with the url to keep user preference even after refresh or navigation

Vue 2 + 332updated 1y ago

vue-auth-hrefvue-auth-hrefAuth

A VueJS directive for downloading files that are under a protected route schema

Vue 318updated 4mo ago

pinia-plugin-unstoragepinia-plugin-unstoragePinia

The best persistence plugin with unjs/unstorage for pinia.

Vue 315updated 4mo ago

vuex-masked-modulesVuex

A Vuex plugin put data structure of the module in localStorage, with the ability to mask or encrypt the data to make it difficult to explore. Designed for Vue 3 and Vuex 4.

Vue 2 only3updated 7d ago

@erlihs/pinia-plugin-storage@erlihs/pinia-plugin-storagePinia

A comprehensive state persistence and synchronization, yet as simple as it can be.

Vue 32updated 11mo ago

Stan

A minimal, atomic state manager (framework-agnostic, with Vue bindings).

Not statedโ€“No repo listed
Esc

Type to search every entry. โ†‘โ†“ to move, Enter to open.