I'm trying to set validPassword and validFormData values to false whenever a form is submited and the values are empty. I'm calling this function on submit but it's only changing the last property in my useState
const [validPassword, setValidPassword] = useState({
    password: true,
    confirmPassword: true
})
const [validFormData, setValidFormData] = useState({
    email: true,
    name: true,
    lastName: true,
    phone: true,
 })
const signupAction = (e) => {
        e.preventDefault()
        if (formData.email === "" || formData.name === "" || formData.lastName === "" || formData.phone === "" || formData.password === "" || formData.confirmPassword === "") {
            for (let p in formData) {
                if (formData[p] === "") {
                    if (p === "password" || p === "confirmPassword") {
                        setValidPassword({ ...validPassword, [p]: false })
                    } else {
                        setValidFormData({ ...validFormData, [p]: false })
                    }
                }
            }
        } else {
            console.log('success')
        }
        /* signup(formData, history) */
    }
What I get from this is:
validPassword = {
  password: true,
  confirmPassword: false
}
validFormData = {
   email: true,
   name: true,
   lastName: true,
   phone: false,
}
 
    