- Write a method to create a store.
- Work with stores, reducers, and actions.
Good news - you're opening a candy store! First, we just need to build an app to manage our inventory.
For now, we'll want to create two different stores - one to keep track of all of the types of candy we sell, and one to keep track of the count of the sales that we've had (Later on, we'll learn how we can manage multiple pieces of state in one store).
- In
createStore.js
, write a function calledcreateStore
that takes in a reducer function as an argument. We've provided the reducer functions for you so you can get a sense of how they'll work. - The
createStore
function should return an object with three methods -getState
,dispatch
, andsubscribe
.
getState
should return the current state.subscribe
should take in a function to get called when the state updatesdispatch
should take in an action, update the state using the reducer, and call any event handlers.
Note: Don't forget, you're initial state for each store should be set by the reducer. You'll have to dispatch some sort of 'initialize' action to get your state set!