auth.service uses axios to make HTTP requests. All of the components and state are held in the Page component. The useFormik Hook is where all the goodness is encapsulated. onChange-> handleChange, onBlur-> handleBlur, and so on. Formik is designed to manage forms with complex validation with ease. A new tech publication by Start it up (https://medium.com/swlh). To use it, it only requires you to pass in the initialValues which is an object containing the default values of each of your form fields. @duhaime yes, it would. Install Formik and Yup; Create your Form; Use Formik to get the values; clear your inputs with Formik; npx create-react-app form-formik. But the inputs have the same values, and they didnt clear, but we have the value look at the console a little closer. For convenience, calling these methods will trigger validation and also manage touched for you. type: 'checkbox', multiple: true, etc.). If you really have to use Form.Control you can use render prop. The tutorial example is pretty minimal and contains just 3 pages to demonstrate role based authorization - a login page, a home page and an admin page. They use React context to hook into the parent state/methods. Building forms with React involves setting up state as the container for user data and props as the means to control how state is updated using user This means you do NOT need to call formikBag.setSubmitting(false) manually. There are 2 display headers and 3 input fields.