StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Frameworks
  4. State Management Library
  5. redux-thunk vs vuex

redux-thunk vs vuex

OverviewComparisonAlternatives

Overview

redux-thunk
redux-thunk
Stacks1.2K
Followers185
Votes6
GitHub Stars17.7K
Forks1.0K
vuex
vuex
Stacks1.7K
Followers926
Votes7
GitHub Stars28.4K
Forks9.6K

redux-thunk vs vuex: What are the differences?

Introduction:

Redux-thunk and Vuex are state management libraries used in web development. While both tools serve the purpose of managing application state, there are key differences between them that developers should be aware of.

  1. Middleware Requirement: One major difference between redux-thunk and Vuex is that Redux-thunk requires the use of middleware to handle asynchronous actions, whereas Vuex has built-in support for handling asynchronous code without the need for additional middleware. This means that developers using Redux-thunk need to set up middleware to handle side effects, whereas developers using Vuex can directly call asynchronous code within their actions without any extra setup.

  2. Framework Compatibility: Another key difference is that Redux-thunk is primarily used with React applications, as it is a middleware specifically designed for Redux. On the other hand, Vuex is the state management library provided by Vue.js, making it the standard choice for state management in Vue applications. This difference in compatibility can influence the choice between Redux-thunk and Vuex based on the frontend framework being used.

  3. Maturity and Ecosystem: Redux-thunk has been around longer than Vuex and has a larger ecosystem of plugins and extensions available for developers to use. This can be a significant factor for developers looking to customize their state management solution with additional features or integrations. Vuex, being more closely integrated with Vue.js, may have a more limited ecosystem in comparison.

  4. Code Structure: In terms of code structure, Redux-thunk follows the traditional Redux pattern of actions, reducers, and a central store. Actions in Redux-thunk can be asynchronous functions that dispatch further actions, while reducers update the state based on these actions. Vuex, on the other hand, simplifies this structure by combining actions, mutations, and state management into a single module, resulting in a more streamlined approach to managing state.

  5. Developer Experience: Redux-thunk can be seen as more flexible by some developers due to its middleware architecture, allowing for more customization and control over how actions are handled. However, this flexibility can also lead to more complex setups and potential for boilerplate code. In contrast, Vuex's more opinionated approach can provide a smoother developer experience by offering predefined patterns and structures for managing state, reducing the cognitive load and potential for errors.

Summary:

In summary, the key differences between redux-thunk and Vuex include middleware requirement for handling asynchronous actions, framework compatibility with React and Vue.js, maturity and ecosystem support for additional features, code structure in terms of actions and reducers, and the developer experience in terms of flexibility and ease of use.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Detailed Comparison

redux-thunk
redux-thunk
vuex
vuex

Redux Thunk middleware allows you to write action creators that return a function instead of an action. The thunk can be used to delay the dispatch of an action, or to dispatch only if a certain condition is met. The inner function receives the store methods dispatch and getState as parameters.

Vuex is a 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. It also integrates with Vue's official devtools extension to provide advanced features such as zero-config time-travel debugging and state snapshot export / import.

Statistics
GitHub Stars
17.7K
GitHub Stars
28.4K
GitHub Forks
1.0K
GitHub Forks
9.6K
Stacks
1.2K
Stacks
1.7K
Followers
185
Followers
926
Votes
6
Votes
7
Pros & Cons
Pros
  • 6
    Easy
Pros
  • 2
    Centralized State Management
  • 2
    Zero-config time-travel
  • 2
    Debugging
  • 1
    Easy to setup
Integrations
Redux
Redux
Vue.js
Vue.js

What are some alternatives to redux-thunk, vuex?

Redux

Redux

It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. t provides a great experience, such as live code editing combined with a time traveling debugger.

MobX

MobX

MobX is a battle tested library that makes state management simple and scalable by transparently applying functional reactive programming (TFRP). React and MobX together are a powerful combination. React renders the application state by providing mechanisms to translate it into a tree of renderable components. MobX provides the mechanism to store and update the application state that React then uses.

Zustand

Zustand

Small, fast and scaleable bearbones state-management solution. Has a comfy api based on hooks, that isn't boilerplatey or opinionated, but still just enough to be explicit and flux-like.

Effector

Effector

It is an effective multi-store state manager for Javascript apps, that allows you to manage data in complex applications.

redux-saga

redux-saga

An alternative side effect model for Redux apps

Unstated

Unstated

State so simple, it goes without saying

reselect

reselect

Simple “selector” library for Redux (and others) inspired by getters in NuclearJS, subscriptions in re-frame and this proposal from speedskater.

Redux Observable

Redux Observable

It allows developers to dispatch a function that returns an observable, promise or iterable of action(s). Compose and cancel async actions to create side effects and more.

Recoiljs

Recoiljs

It is an experimental state management library for React apps. It provides several capabilities that are difficult to achieve with React alone, while being compatible with the newest features of React.

XState

XState

It is a library for creating, interpreting, and executing finite state machines and statecharts. It's a really powerful package that can be used to manage state in React Apps.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase