Rashi Chouksey

React With Redux

React and Redux are the two most familiar terms for front-end developers. We use this combination while creating single-page applications. Before digging into the topic of how React works with Redux, let’s understand what React and Redux are separately & theoretically. Let’s see.

What is React?

React is a free and Open-source frontend framework based on a JavaScript library for building a user interface based on UI components. React can be used to develop a single-page application. It also has some notable features like directives, functional components, JSX (JavaScript XML), virtual DOM, class-based components, style components, lifecycle methods, and much more. Which does help us to create large scale projects.

This was the basic intro of React. Let’s move on to Redux now.

What is Redux?

In simple words, Redux is a single centralized place to contain the global state in your application, and specific patterns to follow when updating that state. It is the most common library used with any UI layer or framework such as React, Angular, Vue, etc.

According to its official documentation, Redux was founded on three core principles:

  • The state of your whole application is stored in an object tree within a single store.
  • Ensure the application state is read-only and requires changes to be made by emitting a descriptive action.
  • To specify how the state tree is transformed by actions, you write pure reducer functions.

Reasons to use React with Redux?

Redux is officially bound with React.
However Redux can be used with any UI framework, but it is much more compatible with React rather than any other framework. React Redux is keep updating itself with any API changes for maintaining the flow of work of components in React.

Improves optimization and performance.
In large scale projects, sometimes regular changes in components may cause delays and can make applications slower. In the concern of performance redux helps to improve unnecessary re-rendering of components whenever the data changes while optimizing them internally. So, your component only re-renders when it actually needs to.

Large community.
Being fast and the favorite of developers, React has a very large community of users, Which makes it easier to ask for help, learn about deep and better practices, and a large area to expand knowledge as well.

There are a few things that you should keep in mind while working with Redux.

Actions: these objects contain 2 properties, one is describing the type of action and another is changed in your app state.

Reducers: reducers are the functions. Implements the behavior of action. They change the app state based on action and state change description.

Store: it brings the actions and reducers together, holding and changing the state for the whole app — there is only one store.

Using Action, Reducer, and store we can manage the state of our whole app. While doing this separately on each and single component can become very confusing in large scale projects.