const counter = (state = 0, action) => { switch (action.type) { case 'INCREMENT': return state + 1 case 'DECREMENT': return state - 1 default: return state } } const { createStore } = Redux const store = createStore(counter) var Counter = ({ count, onIncrement, onDecrement }) => ( <div> <h1>{count}</h1> <button onClick={onIncrement}>Increment</button> <button onClick={onDecrement}>Decrement</button> </div> ) const render = () => { ReactDOM.render( <Counter count={store.getState()} onIncrement={()=> store.dispatch({type: 'INCREMENT'})} onDecrement={()=> store.dispatch({type: 'DECREMENT'})} />, document.querySelector('body') ) } store.subscribe(render) render()