Skip to main content

Redux - Store

A store holds the whole state tree of your application.


What is State?

State represents the entire state of a Redux application, which is often a deeply nested object.
The only way to change the state is to dispatch an action. Its an object with few methods on it.

Store Methods:

1. getState() :

This method returns current state tree of application. reducers returns the state since it is pure function. So current state is nothing but the last state return but the reducer function.
Return type of getState() is any.

2. dispatch(action)

This Method dispatches an action. This is the only way to change the state.
The parameter is action. action is nothing but an object which contains property like action type and payload.

3.subscribe(listener)​

This method use to subscribe the store. the parameter for this method is callback function.if there is any change happen to the state by dispatching any action then listener callback function will get call.This method return a function which unsubscribe the change listener.


Only way to change the state in store is dispatch an action. all dispatched actions are handled in the reducer. According to action type reducer construct the new state and return it to store.When state get change all subscriber who subscribe to the store call the listener.

Store is single source of truth so its very easy to debug an application.

This is all about state. In short State is simple tree like object .It is like in-memory database of an application. there are different methods to update the state and listen to state change.


In upcoming post we will see Reducers & Effects. Stay tuned. Happy Coding 😊 !!!






Comments

Popular posts from this blog

Redux - Introduction

Now days single page applications are widely developed and there are different frameworks to develop single page application. Although there are different frameworks, Manage single-page applications have become increasingly complicated, our code must manage more state than ever before. Redux offers us an in-memory store. You can say it is blueprint of database but in browser's memory. Concepts in Redux: There are few concepts which we should know before starting. we will explain each of them in great details in future. 1. Store : Store is nothing but simple javascript object which will store in tree like structure. This is the heart of Redux. This  will be the single source of truth. application will behave according to state of store. State is immutable. 2. Actions : Actions are nothing but javascript object.Which contains type and payload. whenever we want to change the state then we need to dispatch an action. e.g suppose we have employee list in our sta...

Redux - Reducers

In Redux framework there is a store which maintain state of application (store is single source of truth). so the store is use throughout the application. all components share the store. So its very easy to have communication in between the components regardless of at what level component comes. As we have seen in previous post whenever we wants to change the state then we need to dispatch action. but updating store is not taken care by dispatching action only. we need to handled that dispatched action and do the update. As we have to maintain state as mutable we need a function which will be the pure function which will change the state and return new state. Yes, reducer is that function. We already defined reducer. "Reducer is pure function which alter the state of store and return the new state" So how can we write reducers in Angular Reducer function takes 2 parameters  1. State  - current state of application  2. action - action to perform ...