with the initialState. 3. Figure out which top level component should have context and setup context. 4. Pass in the dispatch returned from useReducer to the Context provider API so that children have access to dispatch. 5. Hook up Graphql API to a component using useEffect. 6. Use useContext and useReducer to receive and update global application state. 7. Use useState for local state.