vuex
🗃️ Centralized State Management for Vue.js. (by vuejs)
pinia
🍍 Intuitive, type safe, light and flexible Store for Vue using the composition api with DevTools support (by vuejs)

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured

Nutrient - The #1 PDF SDK Library
Bad PDFs = bad UX. Slow load times, broken annotations, clunky UX frustrates users. Nutrient’s PDF SDKs gives seamless document experiences, fast rendering, annotations, real-time collaboration, 100+ features. Used by 10K+ devs, serving ~half a billion users worldwide. Explore the SDK for free.
nutrient.io
featured
vuex | pinia | |
---|---|---|
90 | 33 | |
28,455 | 13,644 | |
0.1% | 1.3% | |
2.5 | 9.4 | |
6 months ago | 5 days ago | |
JavaScript | TypeScript | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
vuex
Posts with mentions or reviews of vuex.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2025-02-26.
-
The problem with indirections
Something I have already seen in many different code bases using frontend libraries like React and Vue is that developers use advanced state management solutions (e.g. Redux, Vuex, or Pinia) way too often.
-
2024 Nuxt3 Annual Ecosystem Summary🚀
Document address: Vuex official document
-
Code Refactoring: Avoid Prop Drilling in Vue with Provide/Inject
To avoid prop drilling we can make use of state management library like Vuex and Pinia, but for this article I will demonstrate of using Vue provide and inject. Let's refactor our components.
-
Comparing Frontend Technologies: ReactJS vs VueJS
Flexibility: Vue is also flexible but provides more built-in solutions out of the box, such as Vue Router for navigation and Vuex for state management. This can reduce the need for additional libraries and make development more straightforward.
-
You no longer need Vuex / Pinia for shared state in Vue.
If you have been using Vue.js before 3.x you are probably familiar with Vuex now renamed Pinia. It allows you to have a centralized state that is shared across all your application components. If you have ever found yourself in situations where you are passing data/props between components and things are getting complicated, a centralized state is the answer.
-
How to Protect State in Pinia
Pinia is a relatively new state management tool for the Vue ecosystem. It is the new preferred state management tool recommended by the Vue core team replacing Vuex. Compared to Vuex, Pinia is type-safe by default (direct-vuex was needed to make Vuex type-safe), extremely lightweight, and modular by design (meaning you can create multiple stores instead of multiple modules inside one store, which optimises performance). Similar to Vuex, Pinia has state, computed properties (getters) and methods (mutations and actions). Read more about Pinia and its usage to understand the similarities and differences between Pinia and Vuex.
-
React or Vue, which JS framework is best?
Vue.js also offers built-in features like animation and state management through Vuex which serve a wide range of development needs.
-
Vue 3 vs Vue 2 so far? What's your opinion? Things I didn't like about Vue 3 compared to Vue 2
I really liked the idea of how all the core Vue libraries are maintained by Vue team themselves, making Vue feels like an all-in-one package instead of infinite npm install to add multiple community/personally maintained repos which often caused issues because they don't blend together. And now Pinia will be officially replacing Vuex, making me doubt if it'll be as reliable as Vuex.
-
A guide to Vue Lifecycle hooks.
Vuex: https://vuex.vuejs.org/
-
Which one is the favor?
Pinia. No discussion. Have you checked the Vuex website? It says Pinia is default. https://vuex.vuejs.org/
pinia
Posts with mentions or reviews of pinia.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-29.
-
Better DX in Vue apps with Vite Devtools
Pinia tab is a feature integrated with Pinia, allowing you to view the registered modules and their details.
- [Vue Js] Comment se moquer de Pinia pour un composant d'essai d'union avec le plus vibré plus vitreux et le plus
-
Alternative libs to migrate from React to Vue (or Vue to React)
pinia
-
Learning React
If you like Vuex, you'll love Pinia (the new official Vue state management library). At least, I enjoyed recently migrating my personal app from Vuex to Pinia. Pinia is even simpler / more straightforward than Vuex (and even more so compared to Redux).
- Pinia setup or option?
-
Can't v-model to pinia store variables
Related
-
Making Nuxt.js clone with Vue 3 and Vite (Vue Server Side Rendering)
const authMiddleware: Middleware = ({ pinia }) => { // !!! Important !!! // tell all the stores you are contacting // Pinia instance, otherwise you will have problems because Pinia will access the global object // https://github.com/vuejs/pinia/blob/8626aac0049243de231401a01fe20092eeaf279c/packages/pinia/src/store.ts#L870 if (!authStore(pinia).isAuth) { return { path:'/login', status: 401, } } }
-
[h3] [unhandled] H3Error: __vite_ssr_import_0__.defineStore is not a function
When installing the "pinia" package via npm i pinia, I got a bunch of errors, similar to what's described here. This seems to be an issue with npm. Solution to that : install using yarn add -D pinia
-
The Future of State Management in Vue.js
Does using the main branch of pinia fix your issue? Over aggressive unwrapping was changed in https://github.com/vuejs/pinia/pull/1444
-
How to mock pinia for uniting test component with vitest and Testing-Library
Also, I tried one syntax based on : https://github.com/vuejs/pinia/discussions/1096
What are some alternatives?
When comparing vuex and pinia you can also consider the following projects:
ao-loot-logger-viewer - AO Loot Logger Viewer
unplugin-auto-import - Auto import APIs on-demand for Vite, Webpack and Rollup
vueuse - Collection of essential Vue Composition Utilities for Vue 3
effector-react - Business logic with ease ☄️
uuix - A tiny (<1KB) and fast UUID (v4) generator for Crystal
harlem - Powerfully simple global state management for Vue 3

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured

Nutrient - The #1 PDF SDK Library
Bad PDFs = bad UX. Slow load times, broken annotations, clunky UX frustrates users. Nutrient’s PDF SDKs gives seamless document experiences, fast rendering, annotations, real-time collaboration, 100+ features. Used by 10K+ devs, serving ~half a billion users worldwide. Explore the SDK for free.
nutrient.io
featured