Too Long; Didn't Read
Hook is a way to keep and manage data in the store for the particular component and its children. Hook will return the State and functions to change the state. Hook then will have a standard switch-case implementation; I wrapped it with `produce` function from the Immer lib. It’s to avoid mistakes while coping in full state. But yeah, in the very original reducer where the object of the state is without multiple nested objects, I will only use the spread operator.