Panel discussion: State Management

This ad is not shown to multipass and full ticket holders
React Summit US
React Summit US 2025
November 18 - 21, 2025
New York, US & Online
The biggest React conference in the US
Learn More
In partnership with Focus Reactive
Upcoming event
React Summit US 2025
React Summit US 2025
November 18 - 21, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

FAQ

State management is a strategy used to manage a state that exists outside of components in a Vue application. It involves a system to manage, interact with, and maintain data that goes beyond the lifecycle of individual components.

Yes, Vue 3 introduced the Composition API and a reactivity package which allows more direct management of reactive states. While Vuex 4 remains compatible with Vue 3 without major changes, new tools like Pinia are emerging as simpler alternatives for state management.

Pinia is a store library for Vue that is simpler and less opinionated than Vuex. It offers better TypeScript support and integrates seamlessly with the Composition API of Vue 3. Pinia allows for scalable state management, suitable for both small and large applications.

For new projects in Vue 3, it is recommended to use Pinia if a store is needed. Pinia is simpler, supports server-side rendering, and is considered the future direction for Vue state management. However, Vuex 4 can still be used, especially for projects requiring a Flux architecture.

Yes, Pinia and Vuex can coexist in the same project. This allows for partial migration where you can gradually shift from Vuex to Pinia without needing to refactor the entire state management at once.

Vuex ORM is a tool that facilitates managing relational data in Vuex stores by providing an Object-Relational Mapping-like interface. It is useful for applications with complex relationships and models, helping to deduplicate and efficiently manage nested and relational data.

Eduardo San Martin Morote
Eduardo San Martin Morote
Kia King Ishii
Kia King Ishii
Vanessa Otto
Vanessa Otto
33 min
27 Oct, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Vanessa, Kia, and Eduardo discuss Vue.js and state management, emphasizing the evolution of state management in Vue, the introduction of Pinia as a simpler alternative to Vuex, and the comparison between Vue X and Pinia in terms of flexibility and adaptability. They explore transitioning from local state to Flux architecture, efficient data handling with VueXORM, and the importance of optimal data access in Vue components. The discussion also covers server-side data storage, cache usage, and audience engagement with VxOrm for deduplicating data in Vuex.

1. Introduction to Vue.js and State Management

Short description:

Vanessa introduces herself, shares her Vue.js journey and fear of state management. Kia and Eduardo also greet the audience. Eduardo explains the concept of state management outside components.

So, hi, and first of all, hi, I'm Vanessa. In comparison to those beautiful people next to me, this direction, I think, I'm not a core member. I'm also not really into open source. I'm very sorry, but I started my journey with Vue.js in 2017 and have loved it ever since. I guess how most of the people here in the conference. And one of my key experiences was as I added Vue.x, as I finally added Vue.x, that I was being afraid to use it beforehand because I thought state management store sounds complicated. And I think I did a lot of very complicated things before. I just did the simple thing of adding Vue.x.

Before we hop into the discussions, I want to say hi to Kia and Eduardo and starting maybe, Kia, with you, you can quickly introduce yourself and say hello to everybody. Okay. Thank you, Vanessa. Hello, everybody. I'm Kia. I'm a Vue.js Core Team member and so excited to be here. So I'm hoping to have so much fun. Yeah. I hope you too. Okay. And hello, Eduardo. Hello. Well, I think you just need to talk before. Yes. You just introduced yourself before. So for everybody who missed it, watch the recording of the awesome talk of Eduardo beforehand. And Eduardo, so I would have my first question to you.

Before we get into the detail question, I thought we start with the complicatest question of them all. What is state management? State management is a strategy you use to deal with a state that is outside of components in your application. That's the key point. The clue is in the title. So everything that doesn't belong in a component, everything that goes beyond the component life, everything that, it doesn't have to be, there is no rule about the features or the business, the logic belong to, but it's about specifics is state that cannot be in one component.

2. State Management Evolution in Vue

Short description:

State management in Vue three introduces new composition API with reactivity package. Vue X version four maintains compatibility with Vue three. PNF by Eduardo and Vue X five are upcoming global state management tools.

It has to be outside. So you need something to manage it. You need a way to, strategy to manage that state, interact with it, read, write, et cetera. Would you then say that state is always something that is global or can there also be a local state? There is a local state. Yeah, components have local state, right? Makes sense. Okay, and since there is now Vue three, if I think of Vue two, I think state management store, Vuex, has something changed? And I know we saw the talk before about Pinya, but has something changed in general since we have Vue three when it comes to state management in Vue? Who should answer this? Kia. Okay, okay. So in terms of state management, if we include Vue three inside the state management, there's a new composition API. So this composition API, and more specifically W3 has this new reactivity package. And actually you can use this package outside of Vue. And this provides a basic Vue reactive system. And it does pretty much the same thing that you used to do in Vue two. In Vue two, you had options API, you define like data property and he becomes reactive. But now you can import reactivity package independent from the Vue. And you can define many kinds of reactive objects like ref reactive, computed and such. So that's one big new thing on the Vue. In terms of Vue X, actually there is a Vue X version four which is compatible with version Vue three. But it hasn't changed anything. Just a slightly difference between Vue two version is the installation logic, I think. But other things stays quite the same. So in terms of Vue X at the moment right now, there is no big difference from the Vue two. In other words, you can migrate Vue X three to Vue X four pretty easily. You can just straightforward. But in terms of what coming next is PNF. It's currently created by Eduardo and that's the new thing. And also Vue X five, these two share the very same thing, but this is the new thing coming to the Vue three as a global state management tool. All right. We now said, I think Pinya already 10 times. And I will ask the question to, and like for everybody who hasn't seen the talk before and to say in one or two, three, five sentences what it actually is. But what I would like to know, so in Vue two there was just Vue X for me as a go-to method to have state management.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Everything Beyond State Management in Stores with Pinia
Vue.js London Live 2021Vue.js London Live 2021
34 min
Everything Beyond State Management in Stores with Pinia
Top Content
State management is not limited to complex applications and transitioning to a store offers significant benefits. Pinia is a centralized state management solution compatible with Vue 2 and Vue 3, providing advanced devtools support and extensibility with plugins. The core API of Pinia is similar to Vuex, but with a less verbose version of stores and powerful plugins. Pinia allows for easy state inspection, error handling, and testing. It is recommended to create one file per store for better organization and Pinia offers a more efficient performance compared to V-rex.
Using useEffect Effectively
React Advanced 2022React Advanced 2022
30 min
Using useEffect Effectively
Top Content
Today's Talk explores the use of the useEffect hook in React development, covering topics such as fetching data, handling race conditions and cleanup, and optimizing performance. It also discusses the correct use of useEffect in React 18, the distinction between Activity Effects and Action Effects, and the potential misuse of useEffect. The Talk highlights the benefits of using useQuery or SWR for data fetching, the problems with using useEffect for initializing global singletons, and the use of state machines for handling effects. The speaker also recommends exploring the beta React docs and using tools like the stately.ai editor for visualizing state machines.
Welcome to Nuxt 3
Vue.js London Live 2021Vue.js London Live 2021
29 min
Welcome to Nuxt 3
Top Content
Nux3 has made significant improvements in performance, output optimization, and serverless support. Nuxt Bridge brings the Nitro engine for enhanced performance and easier transition between Nuxt 2 and Nuxt Read. Nuxt 3 supports Webpack 5, Bytes, and Vue 3. NextLab has developed brand new websites using Docus technology. Nuxt.js is recommended for building apps faster and simpler, and Nuxt 2 should be used before migrating to Nuxt 3 for stability. DOCUS is a new project that combines Nuxt with additional features like content modules and an admin panel.
React Query: It’s Time to Break up with your "Global State”!
React Summit Remote Edition 2020React Summit Remote Edition 2020
30 min
React Query: It’s Time to Break up with your "Global State”!
Top Content
Global state management and the challenges of placing server state in global state are discussed. React Query is introduced as a solution for handling asynchronous server state. The Talk demonstrates the process of extracting logic into custom hooks and fixing issues with state and fetching logic. Optimistic updates with mutation are showcased, along with the benefits of using React Query for data fetching and mutations. The future of global state management is discussed, along with user feedback on React Query. The Talk concludes with an invitation to explore React Query for server state management.
One Year Into Vue 3
Vue.js London Live 2021Vue.js London Live 2021
20 min
One Year Into Vue 3
Top Content
Vue 3 has seen significant adoption and improvements in performance, bundle size, architecture, and TypeScript integration. The ecosystem around Vue 3 is catching up, with new tools and frameworks being developed. The Vue.js.org documentation is undergoing a complete overhaul. PNIA is emerging as the go-to state management solution for Vue 3. The options API and composition API are both viable options in Vue 3, with the choice depending on factors such as complexity and familiarity with TypeScript. Vue 3 continues to support CDN installation and is recommended for new projects.
Utilising Rust from Vue with WebAssembly
Vue.js London Live 2021Vue.js London Live 2021
8 min
Utilising Rust from Vue with WebAssembly
Top Content
In this Talk, the speaker demonstrates how to use Rust with WebAssembly in a Vue.js project. They explain that WebAssembly is a binary format that allows for high-performance code and less memory usage in the browser. The speaker shows how to build a Rust example using the WasmPack tool and integrate it into a Vue template. They also demonstrate how to call Rust code from a Vue component and deploy the resulting package to npm for easy sharing and consumption.

Workshops on related topic

Rethinking Server State with React Query
React Summit 2020React Summit 2020
96 min
Rethinking Server State with React Query
Top Content
Featured Workshop
Tanner Linsley
Tanner Linsley
The distinction between server state and client state in our applications might be a new concept for some, but it is very important to understand when delivering a top-notch user experience. Server state comes with unique problems that often sneak into our applications surprise like:
- Sharing Data across apps- Caching & Persistence- Deduping Requests- Background Updates- Managing “Stale” Data- Pagination & Incremental fetching- Memory & Garbage Collection- Optimistic Updates
Traditional “Global State” managers pretend these challenges don’t exist and this ultimately results in developers building their own on-the-fly attempts to mitigate them.
In this workshop, we will build an application that exposes these issues, allows us to understand them better, and finally turn them from challenges into features using a library designed for managing server-state called React Query.
By the end of the workshop, you will have a better understanding of server state, client state, syncing asynchronous data (mouthful, I know), and React Query.
Monitoring 101 for React Developers
React Summit US 2023React Summit US 2023
107 min
Monitoring 101 for React Developers
Top Content
WorkshopFree
Lazar Nikolov
Sarah Guthals
2 authors
If finding errors in your frontend project is like searching for a needle in a code haystack, then Sentry error monitoring can be your metal detector. Learn the basics of error monitoring with Sentry. Whether you are running a React, Angular, Vue, or just “vanilla” JavaScript, see how Sentry can help you find the who, what, when and where behind errors in your frontend project. 
Workshop level: Intermediate
Using Nitro – Building an App with the Latest Nuxt Rendering Engine
Vue.js London Live 2021Vue.js London Live 2021
117 min
Using Nitro – Building an App with the Latest Nuxt Rendering Engine
Top Content
Workshop
Daniel Roe
Daniel Roe
We'll build a Nuxt project together from scratch using Nitro, the new Nuxt rendering engine, and Nuxt Bridge. We'll explore some of the ways that you can use and deploy Nitro, whilst building a application together with some of the real-world constraints you'd face when deploying an app for your enterprise. Along the way, fire your questions at me and I'll do my best to answer them.
Vue3: Modern Frontend App Development
Vue.js London Live 2021Vue.js London Live 2021
169 min
Vue3: Modern Frontend App Development
Top Content
Workshop
Mikhail Kuznetsov
Mikhail Kuznetsov
The Vue3 has been released in mid-2020. Besides many improvements and optimizations, the main feature of Vue3 brings is the Composition API – a new way to write and reuse reactive code. Let's learn more about how to use Composition API efficiently.

Besides core Vue3 features we'll explain examples of how to use popular libraries with Vue3.

Table of contents:
- Introduction to Vue3
- Composition API
- Core libraries
- Vue3 ecosystem

Prerequisites:
IDE of choice (Inellij or VSC) installed
Nodejs + NPM
State Management in React with Context and Hooks
React Summit Remote Edition 2021React Summit Remote Edition 2021
71 min
State Management in React with Context and Hooks
Workshop
Roy Derks
Roy Derks
A lot has changed in the world of state management in React the last few years. Where Redux used to be the main library for this, the introduction of the React Context and Hook APIs has shaken things up. No longer do you need external libraries to handle both component and global state in your applications. In this workshop you'll learn the different approaches to state management in the post-Redux era of React, all based on Hooks! And as a bonus, we'll explore two upcoming state management libraries in the React ecosystem.
TresJS create 3D experiences declaratively with Vue Components
Vue.js London 2023Vue.js London 2023
137 min
TresJS create 3D experiences declaratively with Vue Components
Workshop
Alvaro Saburido
Alvaro Saburido
- Intro 3D - Intro WebGL- ThreeJS- Why TresJS- Installation or Stackblitz setup - Core Basics- Setting up the Canvas- Scene- Camera- Adding an object- Geometries- Arguments- Props- Slots- The Loop- UseRenderLoop composable- Before and After rendering callbacks- Basic Animations- Materials- Basic Material- Normal Material- Toon Material- Lambert Material- Standard and Physical Material- Metalness, roughness - Lights- AmbientLight- DirectionalLight- PointLights- Shadows- Textures- Loading textures with useTextures- Tips and tricks- Misc- Orbit Controls- Loading models with Cientos- Debugging your scene- Performance