In this tutorial, we are going to be going over the useReducer hook. The useReducer hook allows us to bring state to functional components. This hook is generally used to handle complex state objects whereas the useState hook is generally used to hold primitive data types