Exercise Solution: Time Counter
We'll cover the following...
I hope you figured out how to refactor the Counter and update changes.
Take a look at one way of doing this:
export default function(state, action) { switch (action.type) { case "SET_ACTIVE_SESSION": return { ...state, activeSession: action.payload }; case "INCREASE_COUNTER": //retrieve the activeSession from the action payload //however this comes in all caps so convert to lower Case const activeSession = action.payload.toLowerCase(); return { ...state, [activeSession]: state[activeSession] + 1 }; case "DECREASE_COUNTER": //retrieve the activeSession (called session here) from the action payload const session = action.payload.toLowerCase(); return { ...state, [session]: Math.max(0, state[session] - 1) }; default: return state; } }
Once again, there isn’t much complexity in the solution.
We have a three types ...