When my component is rendered a warning is showing in my console that is caused by the value changing from a defined to undefined value. I have set the value attribute in the form tag to their respective state but still getting the error. Please check the useEffect too.
import React, { useState, useEffect } from "react";
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import axios from "axios";
const CreateExercise = (props) => {
  const [userDetails, setUserDetails] = useState({
    //Fetching the initial state
    username: "",
    description: "",
    duration: 0,
    date: new Date(),
    users: [],
  });
  useEffect(() => {
    axios.get("http://localhost:5000/users/").then((res) => {
      //Fetching array of users
      if (res.data.length > 0) {
        console.log(res.data);
        setUserDetails({
          users: res.data.map((user) => user.username), //Updating user to its name
          username: res.data[0].username, //First content of array i.e.
        }); //username
      }
    });
  }, []);
  //Handling the change handler for the form input
  const changeUsernameHandler = (e) => {
    setUserDetails((prevState) => {
      return {
        ...prevState,
        username: e.target.value,
      };
    });
  };
  const changeDescriptionHandler = (e) => {
    setUserDetails((prevState) => {
      return {
        ...prevState,
        description: e.target.value,
      };
    });
  };
  const changeDurationHandler = (e) => {
    setUserDetails((prevState) => {
      return {
        ...prevState,
        duration: e.target.value,
      };
    });
  };
  const changeDateHandler = (date) => {
    setUserDetails((prevState) => {
      return {
        ...prevState,
        date: date,
      };
    });
  };
  //On submitting create exercise
  const onSubmitHandler = (e) => {
    e.preventDefault();
    const exercise = {
      username: userDetails.username,
      description: userDetails.description,
      duration: userDetails.duration,
      date: userDetails.date,
    };
    console.log(exercise);
    axios
      .post("http://localhost:5000/exercises/add", exercise) //updating the component
      .then((res) => console.log(res.data));
    window.location = "/"; //After submission redirect to the
    //path
  };
  return (
    //Form containing
    //username,Description,Duration and Dat
    <div>
      <h3>Create new Exercise log</h3>
      <form onSubmit={onSubmitHandler}>
        <div className="form-group">
          <label>Username: </label>
          <select
            required
            className="form-control"
            onChange={changeUsernameHandler}
            value={userDetails.username}
          >
            {userDetails.users.map((user) => {
              return (
                <option key={user} value={user}>
                  {user}
                </option>
              );
            })}
          </select>
        </div>
        <div className="form-group">
          <label>Description: </label>
          <input
            type="text"
            required
            className="form-control"
            onChange={changeDescriptionHandler}
            value={userDetails.description}
          />
        </div>
        <div className="form-group">
          <label>Duration (in minutes): </label>
          <input
            type="number"
            className="form-control"
            onChange={changeDurationHandler}
            value={userDetails.duration}
          />
        </div>
        <div className="form-group">
          <label>Date: </label>
          <div>
            <DatePicker onChange={changeDateHandler} selected={userDetails.date} />
          </div>
        </div>
        <div>
          <input type="submit" value="Create Exercise Log" className="btn btn-primary" />
        </div>
      </form>
    </div>
  );
};
export default CreateExercise;
what do I have to change in order to remove that above error?
 
     
    