What is React State Management?

What is React State Management?

·

4 min read

List of 8 super useful React State Management Libraries - Learn which one you should use

React State Management Libraries

What is React State Management?

React components have built-in objects called states. A React state is similar to a JavaScript data structure. Components use the state to store reusable assets. It is possible for the state of a component to change frequently, which requires the component to be re-rendered whenever the state changes.
When it comes to managing React states, it is not as straightforward as using simple React hooks like useState or useReducer.

Photo by Tim Mossholder on Unsplash

There are a large number of states, and there are also a large number of state management libraries available, and this number is expanding every day. Therefore, the best approach is to select the one that best meets your needs and get to know them all in case anything better emerges.

List of some most popular RSM libraries

1. Redux

Before choosing any library, you should know what kind of problem you are having. Don’t use it just because someone told you about it. Before using it, do your homework. Not all apps need Redux. You should use Redux when managing states locally becomes messy. Using Redux requires you to learn more concepts and write more code.

See the illustration below to understand how Redux works:

Redux

Some of the advantages of Redux are its community support, server-side rendering, easy debugging, and state persistence. You can use Redux with React or any other library. Including dependencies, it weighs only 2 KB.

Dan Abramov, one of the redux developers, states:

I would like to amend this: don’t use Redux until you have problems with vanilla React.

Link :https://redux.js.org/

2. Redux Toolkit

When developing redux apps, the Redux Toolkit is recommended. It makes your code much better. Redux Toolkit incorporates our suggested best practices, simplifies most Redux tasks, prevents common mistakes, and makes it easier to write Redux applications.

Install:

# NPM
npm install @reduxjs/toolkit
# Yarn
yarn add @reduxjs/toolkit

Link: https//:redux-toolkit.js.org/

3. Rematch

Rematch is Redux's best practice. Switch statements, thunks, action types, and action creators have been removed.

As a replacement for Redux, Rematch has many great features.

Rematch eliminates boilerplate, is lightweight (less than 2 KB), needs no configuration, and supports TypeScript and React devtools.

Additionally, it supports React Native, enforces best practices, has hot reloading, adds reducers dynamically, allows you to set up multiple stores, is expandable with plugins, and is simple to use.

Link: https://rematchjs.org/

4. Recoil

Recoil is an open-source React state management library developed by Facebook. It’s more similar to React. Throughout the application, states are passed through atoms and selectors. This reduces unnecessary re-rendering and increases performance. Recoil is an advanced approach to React state management.

See the illustration below to understand how Recoil works:

Recoil

Link: https://recoiljs.org/

5. Hookstate

Small most concise, fast state management library that is based on React hook.

Features:

  • Flexible API

  • Easy to learn

  • Incredibly Fast

  • Better performance

  • Supports TypeScript

  • Extensible with Plugins

Link: https://hookstate.js.org/

6. Jotai

Jotai is a minimalist yet flexible library to manage a simple React global state.

In comparison to Recoil, Jotai has many features. From what I have learned about Recoil and Jotai, if you choose one library from these two, choose Jotai. Recoil has issues with memory leaks. Recoil’s performance is superior to Jotai’s, has less boilerplate and a smaller core API, etc.

Some of the main features of Jotai:

  • TypeScript focused

  • No extra re-render

  • No actions

  • No stores

  • No reducers

  • No dispatchers

If you want to learn more, read this article and watch free course for more detailed information.

Link: https://jotai.org/

7. Zustand

There is probably no doubt that Redux is the most popular library for managing global states. Nevertheless, libraries like Zustand manage global states more pragmatically and straightforwardly.

Features:

  • Scalable and fast

  • It does not require a boilerplate

  • Compared to Redux, it is less complicated

  • A smaller number of lines of code

  • Developers have responded positively

For more information read this Article Managing React state with Zustand

Link: https://docs.pmnd.rs/zustand/getting-started/introduction

8. MobX

It is a simple and straightforward state management library that applies reactive functional programming. The library is lightweight, has minimal code to write, and has no boilerplate. It provides architectural freedom and effortless, optimal rendering.

See the illustration below to better understand the concept of MobX.

MobX

Link: https://mobx.js.org

Wrap Up

Thank you so much for reading. If you found it helpful, kindly let me know by clapping, sharing, and leaving a comment.

Follow me if you’re interested in reading more, and don’t forget to subscribe to my newsletter to receive the stories in your inbox.

Enjoy your time. Happy learning :))

Socials: Medium | Twitter | GitHub | Hashnode | DEV.to

Did you find this article valuable?

Support ishratumar by becoming a sponsor. Any amount is appreciated!