DEV Community

Cover image for Create redux in 28 lines of code
Shanoy Sinclair
Shanoy Sinclair

Posted on • Edited on

Create redux in 28 lines of code

Its such an eye opener when you learn to create the tools you are using and get a glimpse of how some of its functionality works under the hood.

function createStore(reducer, initialState) { let state = initialState; function getState() { return state; } function dispatch(action) { state = reducer(state, action); } return { dispatch, getState }; } function reducer(state = [], action) { switch (action.type) { case "add": return [...state, action.payload]; default: return state; } } const store = createStore(reducer); store.dispatch({ type: "add", payload: "learn to code" }); store.dispatch({ type: "add", payload: "react" }); store.getState(); //[ 'learn to code', 'react' ] 
Enter fullscreen mode Exit fullscreen mode

inspired by: typeofnandev

Top comments (2)

Collapse
 
bias profile image
Tobias Nickel

actually, your implementation only 10 lines. I think there is enough space left for .subscribe().

Collapse
 
shanoysinc profile image
Shanoy Sinclair

Yes your right lol I will be added subscribe next and possible try create the wrappers for react