State Object

Loading "State Object"
πŸ‘¨β€πŸ’Ό Back in the day, we had this.setState from class components? We're going to make the state updater (dispatch function) behave in a similar way by changing our state to an object ({count: 0}) and then calling the state updater with an object which merges with the current state.
So here's how I want things to look now:
const [state, setState] = useReducer(countReducer, {
	count: initialCount,
})
const { count } = state
const increment = () => setState({ count: count + step })
const decrement = () => setState({ count: count - step })
How would you need to change the reducer to make this work?
How would you make it support multiple state properties? For example:
const [state, setState] = useReducer(countReducer, {
	count: initialCount,
	someOtherState: 'hello',
})
const { count } = state
const increment = () => setState({ count: count + step })
const decrement = () => setState({ count: count - step })
Calling increment or decrement in this case should only update the count property and leave the someOtherState property alone. So the setState function should merge the new state with the old state.

Access Denied

You must login or register for the workshop to view and run the tests.

Check out this video to see how the test tab works.