Redux: Implementing store from scratch

In redux, store is a very central piece which brings actions, reducers and states together. It has the following main functions and API :

  • Holds application state;
  • Allows access to state via getState();
  • Allows state to be updated via dispatch(action);
  • Registers listeners via subscribe(listener);
  • Handles unregistering of listeners via the function returned by subscribe(listener);.

Redux Store


Note:

The subscribe function returns another function, which filters out the listener from the list of listeners. Hence, if you want to unsubscribe a listener then you will have to save the reference for the return value while subscribing and call the reference function.

For example,


let foo = () => {...}; let unsubscribeFoo = store.subscribe(foo); // At this point foo will be called whenever the store updates // sometime in future unsubscribeFoo(); // After this function is executed, the foo will not be called whenever the store updates

You may also like...

Show Buttons
Hide Buttons