@MosesLee Using props instead of component state keeps state to a minimum per component. They call methods from auth.service to make login/register request. As a developer, its usually best to not reinvent the wheel. You pass it a name property with the path to the key within values that holds the relevant array. will then give you access to array helper methods via render props. The render props are an object containing: Formik has a lot of great helper hooks and functions, I highly recommend combing through the docs. We will update the products array and onSubmit callback after setting up the API. Formik has support for nested objects and arrays out of the box. If you really like the Formik tag, you can keep using it. Thats why the first step for implementing a solution is to look for existing solutions. Here is the most easiest way to do with formik.