<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/zustand-vs-usestate-how-to-manage-state-in-react-apps-m471fity3" -->

---
title: Zustand vs useState – How to Manage State in React Apps
description: Learn about Zustand and useState as tools for managing state in React. Zustand offers more centralized global state management, while useState is simpler for...
canonical: https://daily.dev/posts/zustand-vs-usestate-how-to-manage-state-in-react-apps-m471fity3
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Zustand vs useState – How to Manage State in React Apps | daily.dev
og:description: Learn about Zustand and useState as tools for managing state in React. Zustand offers more centralized global state management, while useState is simpler for...
og:url: https://daily.dev/posts/zustand-vs-usestate-how-to-manage-state-in-react-apps-m471fity3
og:image: https://api.daily.dev/og/posts/m471FiTY3.png
og:image:alt: Zustand vs useState – How to Manage State in React Apps
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Zustand vs useState – How to Manage State in React Apps

**[freeCodeCamp](https://daily.dev/sources/freecodecamp)** · [@ije](https://daily.dev/ije) · 8 min read · 115 upvotes · 21 comments

## Summary

Learn about Zustand and useState as tools for managing state in React. Zustand offers more centralized global state management, while useState is simpler for local component state. Consider factors like state complexity, speed, team skills, app growth, and community support when choosing between them.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.freecodecamp.org/news/zustand-vs-usestate-how-to-manage-state-in-react/>

## Community discussion

Top comments from developers on daily.dev.

**@orcdev** · 7 upvotes

> I see lot of devs are having a "REDUX ONLY" attitude. Don't have nothing against Redux, but it's often an overkill for some simple things.
>
>
> Zustand from the other hand is such an easy tool to use, created to solve simple problems.
>
> Thanks for the article!

**@cristianghita** · 6 upvotes

> Really like zustand - if I start a new project based on complexity I choose:
>
> jotai > zustand > redux

**@robertoumbelino** · 2 upvotes

> Nice post. I really like Zustand.
> It's very easy to manage states.

**@tqmvt** · 2 upvotes

> Zustand is great. But Zustand vs useState is a little bit weird

**@vincentchan** · 1 upvotes

> How about the jotai?

---

Tags: [#react](https://daily.dev/tags/react), [#react-hooks](https://daily.dev/tags/react-hooks), [#zustand](https://daily.dev/tags/zustand)

[View this post on daily.dev](https://daily.dev/posts/zustand-vs-usestate-how-to-manage-state-in-react-apps-m471fity3)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Zustand vs useState – How to Manage State in React Apps","url":"https://daily.dev/posts/zustand-vs-usestate-how-to-manage-state-in-react-apps-m471fity3","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/zustand-vs-usestate-how-to-manage-state-in-react-apps-m471fity3"},"datePublished":"2024-05-15T13:01:44.428Z","dateModified":"2026-03-15T07:26:55.531Z","description":"Learn about Zustand and useState as tools for managing state in React. Zustand offers more centralized global state management, while useState is simpler for...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/e705e8a21ad294c1e226dc885ef206ff?_a=AQAEuiZ","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/e705e8a21ad294c1e226dc885ef206ff?_a=AQAEuiZ","isAccessibleForFree":true,"articleSection":"freeCodeCamp","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Person","name":"Ijeoma Igboagu","url":"https://daily.dev/ije","image":"https://lh3.googleusercontent.com/a/AAcHTteliHFxX6mmPMBN8R04ElsVb4onJoP2193Fztbk-Gpd=s96-c","description":"👩‍💻 DevOps practitioner | AWS, Terraform, Kubernetes | Technical Writer","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":330}},"commentCount":21,"discussionUrl":"https://daily.dev/posts/zustand-vs-usestate-how-to-manage-state-in-react-apps-m471fity3","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":115},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":21}],"keywords":"react,react-hooks,zustand","timeRequired":"PT8M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"freeCodeCamp","item":"https://daily.dev/sources/freecodecamp"},{"@type":"ListItem","position":3,"name":"Zustand vs useState – How to Manage State in React Apps"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/zustand-vs-usestate-how-to-manage-state-in-react-apps-m471fity3","comment":[{"@type":"Comment","text":"I see lot of devs are having a “REDUX ONLY” attitude. Don’t have nothing against Redux, but it’s often an overkill for some simple things.\nZustand from the other hand is such an easy tool to use, created to solve simple problems.\nThanks for the article!","datePublished":"2024-05-16T08:04:53.493Z","url":"https://daily.dev/posts/m471FiTY3#c-onJcr4jyR","author":{"@type":"Person","name":"OrcDev","url":"https://daily.dev/orcdev","image":"https://avatars.githubusercontent.com/u/7549148?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":7}},{"@type":"Comment","text":"Really like zustand - if I start a new project based on complexity I choose:\njotai &gt; zustand &gt; redux","datePublished":"2024-05-16T09:45:25.528Z","url":"https://daily.dev/posts/m471FiTY3#c-1OxKMGvI1","author":{"@type":"Person","name":"Cristian Ghita","url":"https://daily.dev/cristianghita","image":"https://lh3.googleusercontent.com/a/ACg8ocKMOj5B978s92IAjL21b_9HoFm8dAj2aVDpzzjJhvvGHkRo2-A=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":6}},{"@type":"Comment","text":"Nice post. I really like Zustand.\nIt’s very easy to manage states.","datePublished":"2024-05-20T11:04:31.556Z","url":"https://daily.dev/posts/m471FiTY3#c-kBWOM6QJG","author":{"@type":"Person","name":"Roberto Umbelino","url":"https://daily.dev/robertoumbelino","image":"https://avatars.githubusercontent.com/u/17939056?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2}},{"@type":"Comment","text":"Zustand is great. But Zustand vs useState is a little bit weird","datePublished":"2024-05-17T17:42:56.874Z","url":"https://daily.dev/posts/m471FiTY3#c-3aXuvJqt6","author":{"@type":"Person","name":"tqmvt","url":"https://daily.dev/tqmvt","image":"https://media.daily.dev/image/upload/s--O0TOmw4y--/f_auto/v1715772965/public/noProfile"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2}},{"@type":"Comment","text":"How about the jotai?","datePublished":"2024-06-25T09:51:13.127Z","url":"https://daily.dev/posts/m471FiTY3#c-pY27UTsGb","author":{"@type":"Person","name":"vincentchan","url":"https://daily.dev/vincentchan","image":"https://avatars.githubusercontent.com/u/11677663?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}}]}
```

