SlideShare a Scribd company logo
Build Large-Scale Vue.js
Apps with Vuex
By Warsono M Faizal
Frontend Dev at GITS Indonesia
Intro
Warsono Muhamad Faizal
Frontend Web Developer at GITS Indonesia
What is Vuex?
Vuex is a state management pattern + library for Vue.js applications.
Vuex is inspired by Flux, Redux and The Elm Architecture.
Vuex serves as a centralized store for all the components in an application
What is a "State Management Pattern"?
It is a self-contained app with the following parts:
● The state, which is the source of truth that drives
our app;
● The view, which is just a declarative mapping of
the state;
● The actions, which are the possible ways the
state could change in reaction to user inputs from
the view.
This is an extremely simple representation of the
concept of "one-way data flow":
Flow
One-Way Data Flow
Vuex Flow
Why Do You Need Vuex?
● The Vuex store is reactive. Once components retrieve a state from it, they will
reactively update their views every time the state changes.
● Components cannot directly mutate the store's state. The only way to change
the store's state is by explicitly committing mutations.
● You can easily debug your application thanks to the Vuex integration with
Vue's DevTools extension.
● It's easier to maintain and synchronize the state between multiple components,
even if the component hierarchy changes.
● Vuex makes direct cross-component communication possible.
Let’s Get Started
Vuex Store
State
● The Vuex state is a single
object contains all your
application level state
● You will have only one store
for each application
● The single state tree does not
conflict with modularity (Vuex
modules)
Mutations
● The only way to actually change
state in a Vuex store is by
committing a mutation
● We cannot directly call a mutation
handler
Mutations Types
Mutations Payload
Mutations - Object-Style Commit
Actions
Actions are similar to mutations,
the differences being that:
● Instead of mutating the state,
actions commit mutations.
● Actions can contain arbitrary
asynchronous operations.
Actions - Promise
Getters
Accessing State
Map Helper
Modules
Modules - Accessing State
Form Handling
Form Handling - Two-Way Computed Properties
Application Structure
Resources
● https://vuex.vuejs.org/
● https://github.com/gravitano/gits-class-vuex
Thanks! Warsono M Faizal
Instagram: @warsonoid
Facebook: /gravitano
Twitter: @gravitano
GitHub: @gravitano

More Related Content

PDF
GITS Class #20: Building A Fast and Responsive UI in React Native
PPTX
Getting started with react & redux
PPTX
Presentation1
PDF
Robust UI development with ClojureScript
PDF
React Context API
PDF
Introduction to React Hooks
PDF
React js use contexts and useContext hook
PPTX
reactJS
GITS Class #20: Building A Fast and Responsive UI in React Native
Getting started with react & redux
Presentation1
Robust UI development with ClojureScript
React Context API
Introduction to React Hooks
React js use contexts and useContext hook
reactJS

What's hot (20)

PPTX
React-JS Component Life-cycle Methods
PPTX
Introduction to React JS for beginners | Namespace IT
PPTX
Dependency Inversion in large-scale TypeScript applications with InversifyJS
PDF
PPTX
React redux-redux-saga-rahil-memon
PDF
React & ES6 Intro
PPTX
Dive into Angular, part 3: Performance
PPTX
Will React Hooks replace Redux?
PDF
Basic fundamental of ReactJS
ODP
Introduction to ReactJS
PDF
Component based architecture
PPTX
Introduction to react js and reasons to go with react js in 2020
PPTX
Asp.net page lifecycle
PDF
Meetup dpjs react_api
PDF
Redux and context api with react native app introduction, use cases, implemen...
PPTX
How To Utilize Context API With Class And Functional Componen in React.pptx
PPTX
Angular%201%20to%20angular%202
PPTX
Wt6 accessing and modifying mule event
PDF
Managing state in Angular 1.x with Redux
PPTX
Wt7 structuring mule applications
React-JS Component Life-cycle Methods
Introduction to React JS for beginners | Namespace IT
Dependency Inversion in large-scale TypeScript applications with InversifyJS
React redux-redux-saga-rahil-memon
React & ES6 Intro
Dive into Angular, part 3: Performance
Will React Hooks replace Redux?
Basic fundamental of ReactJS
Introduction to ReactJS
Component based architecture
Introduction to react js and reasons to go with react js in 2020
Asp.net page lifecycle
Meetup dpjs react_api
Redux and context api with react native app introduction, use cases, implemen...
How To Utilize Context API With Class And Functional Componen in React.pptx
Angular%201%20to%20angular%202
Wt6 accessing and modifying mule event
Managing state in Angular 1.x with Redux
Wt7 structuring mule applications
Ad

Similar to GITS Class #19: Build Large Scale Vue.js Apps with Vuex (20)

PDF
Vue, vue router, vuex
PPTX
Vuex: X factor for Vue
PDF
Introducing Vuex in your project
PDF
State manager in Vue.js, from zero to Vuex
PDF
What is vue and why use vue for frontend
PPTX
Lets vue(view) Vuex from the Top Vue(View)
PPTX
Vue.js - AMS & Vuex
PPTX
Vue Vuex 101
PPTX
Introduction to VueJS for begginers with examples | Namspace IT
PPTX
Vue 2.0 + Vuex Router & Vuex at Vue.js
PDF
Vue.js - An Introduction
PDF
Quasar Framework Introduction for C++ develpoers
PDF
Introduction to Redux (for Angular and React devs)
PDF
FRU Kathmandu: Adopting with Change Frontend Architecture and Patterns
PDF
Introduction to VueJS & Vuex
PDF
Front end architecture patterns
PDF
VueJS Introduction
PDF
ReactRedux.pdf
PDF
Vuex to Pinia, how to migrate an existing app
Vue, vue router, vuex
Vuex: X factor for Vue
Introducing Vuex in your project
State manager in Vue.js, from zero to Vuex
What is vue and why use vue for frontend
Lets vue(view) Vuex from the Top Vue(View)
Vue.js - AMS & Vuex
Vue Vuex 101
Introduction to VueJS for begginers with examples | Namspace IT
Vue 2.0 + Vuex Router & Vuex at Vue.js
Vue.js - An Introduction
Quasar Framework Introduction for C++ develpoers
Introduction to Redux (for Angular and React devs)
FRU Kathmandu: Adopting with Change Frontend Architecture and Patterns
Introduction to VueJS & Vuex
Front end architecture patterns
VueJS Introduction
ReactRedux.pdf
Vuex to Pinia, how to migrate an existing app
Ad

More from GITS Indonesia (9)

PDF
GITS Webinar: How to Build UI/UX Portfolio that Stand Out
PDF
GITS Webinar: Implementasi REST API di iOS Menggunakan Alamofire dan SwiftyJSON
PDF
Fundamental Node.js (Workshop bersama Front-end Developer GITS Indonesia, War...
PDF
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...
PDF
GITS Class #21 How to Build Your Dream Team to Achieve the Target
PDF
GITS Class #17: Coding Multiple Apps with Flutter
PDF
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
PDF
GITS Class #12: iOS & Android Component Principles bersama Ajie Arga dan Radh...
PDF
GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...
GITS Webinar: How to Build UI/UX Portfolio that Stand Out
GITS Webinar: Implementasi REST API di iOS Menggunakan Alamofire dan SwiftyJSON
Fundamental Node.js (Workshop bersama Front-end Developer GITS Indonesia, War...
Gits class #22: [ONLINE] Analyze Your User's Activities Using BigQuery and Da...
GITS Class #21 How to Build Your Dream Team to Achieve the Target
GITS Class #17: Coding Multiple Apps with Flutter
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
GITS Class #12: iOS & Android Component Principles bersama Ajie Arga dan Radh...
GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...

Recently uploaded (20)

PDF
Modernizing your data center with Dell and AMD
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
PDF
Empathic Computing: Creating Shared Understanding
PPT
Teaching material agriculture food technology
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Cloud computing and distributed systems.
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
KodekX | Application Modernization Development
PDF
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Modernizing your data center with Dell and AMD
The Rise and Fall of 3GPP – Time for a Sabbatical?
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Empathic Computing: Creating Shared Understanding
Teaching material agriculture food technology
“AI and Expert System Decision Support & Business Intelligence Systems”
Advanced Soft Computing BINUS July 2025.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Cloud computing and distributed systems.
NewMind AI Monthly Chronicles - July 2025
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
KodekX | Application Modernization Development
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Reach Out and Touch Someone: Haptics and Empathic Computing
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
20250228 LYD VKU AI Blended-Learning.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

GITS Class #19: Build Large Scale Vue.js Apps with Vuex