Skip to content

Instantly share code, notes, and snippets.

@a-eid
Created November 14, 2016 12:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save a-eid/9079cf76e6ce458fcfb02a53b64b61a6 to your computer and use it in GitHub Desktop.
Save a-eid/9079cf76e6ce458fcfb02a53b64b61a6 to your computer and use it in GitHub Desktop.
const createStore = (retucer) => {
let state
let listeners = []
const getState = ()=> state
const dispatch = (action)=>{
state = reducer(state , action)
listeners.forEach((listener) => listener() )
}
const subscribe = (listener)=>{
listeners.push(listener);
return ()=>{
listeners.filter( (l)=> listener != l )
}
}
state = dispatch({})
return {
getState , dispatch , subscribe
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment