I am validating form from server side. once I get error message, I wants to show error message on respective textbox field's error message
client side Object
const formFields = {
    firstName: {
        helperText: '',
        error: false
    },
    lastName: {
        helperText: '',
        error: false
    },
    emailID: {
        helperText: '',
        error: false
    },
    phoneNo: {
        helperText: '',
        error: false
    },
    password: {
        helperText: '',
        error: false
    },
    confirmPassword: {
        helperText: '',
        error: false
    }
}
Server side response object after validation
const responseError = errorData.response.data.errors //below object is the response
//{
    //"LastName": ["Enter LastName"],
    //"FirstName": ["Enter FirstName"],
    //"ConfirmPassword": ["Enter Confirm Password","confirm password do not match"]
//}
useState
const [inpValues, setInpValues] = useState(formFields)
Conditions to update
if ClientSideObj.key === responseObj.key then setInpValues of error and helperText field
const responseError = errorData.response.data.errors
console.log(responseError)
var FormFieldName = ""
for (keys in formFields) {
    console.log('FormField keys = ' + keys)
    for (var errorKeys in responseError) {
        if (keys.toLowerCase() === errorKeys.toLowerCase()) {
            console.log('* MATCHED FIELDS = ' + errorKeys) 
            //Matched 3 fields(LastName,FirstName,ConfirmPassword) successfully
            FormFieldName = keys
            
                    
            setInpValues(prevInpValues => ({
                ...prevInpValues,
                [FormFieldName]: {
                    ...prevInpValues[FormFieldName],
                    error: true,
                    helperText: responseError[errorKeys]
                    }
                })
            )
            console.table(inpValues)
        }
    }
}
Note
I go through this stack overflow already, then I passed previousState values also. still result same.
It's updating only the last for loop condition value
If the response.error object has return only one field, then it's updating that one
 
     
    