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


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

1 Response

  1. March 19, 2017

    […] Imple­ment the store accord­ing to given specs […]

Leave a Reply

Your email address will not be published.