Be the first user to complete this post
|
Add to List |
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
[wpgist id="dcb86657def2bd9390a170b8a4f17092" file="store.js"]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
Also Read:
- exports is not defined
- Dynamic module loading with require
- Passing the store down implicitly via context in a react redux app
- combineReducers in reduxjs explained
- Es6 Spread operator