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:
- Create Reducer for Redux Applications
- Disable eslint no-unused-vars warning on global functions
- Use es6 and es6+ in eslint with babel
- combineReducers in reduxjs explained
- Passing the store down implicitly via context in a react redux app