Evan You defines Vuex as:
"state management pattern + library for Vue.js applications. It serves as a centralized store for all the components in an application, with rules ensuring that the state can only be mutated in a predictable fashion."
Without knowing Flux, this definition sounds a little bit obscure. Actually, Vuex is a Flux implementation that exploits the reactivity system of Vue using a single, centralized store, and ensures that the state can only be mutated in a predictable fashion.
Before focusing on Vuex itself, we are going to understand the fundamentals of Flux and how Vuex took inspiration from these concepts.