Я создаю приложение CRUD на Java + React.js. Я хочу обновить информацию о пользователе, я заполняю динамическую форму, основанную на массиве employeeDetails. В результате я получаю динамически обновляемые значения от пользователя в состоянии. Но я не уверен, как добавить эти новые входные значения из формы в старый объект, а также обновить его и отправить в бэкэнд. Заранее благодарен за помощь.
Я пытался сделать this.setState () после отправки формы, чтобы обновить старый объект новыми значениями.
Состояние реагирующего приложения:
state = {
employeeDetails: ['Name', 'Gender', 'Education', 'Address', 'Mobile Number', 'Experience'],
editEmployee: {
Name: "Rohan",
Gender: 23,
Education: "Software Engineer",
Mobile Number: 12345,
Experience: "Fresher"
}
}
Динамическая форма обновления пользователя:
<form onSubmit={props.updateEmployee}>
{
Object.keys(props.editEmployee).map(details => <Fragment key={details}>
<label>{details}</label><br />
<input type="text" name={details} onChange={props.handleChange} defaultValue={props.editEmployee[details]} />
</Fragment>
)}
Метод обновления:
updateEmployee = (e) => {
e.preventDefault();
this.setState({
editEmployee: {...this.state.editEmployee, dynamic value}
})
axios.put("http://localhost:9450/updateEmployee", this.state.editEmployee)
.then(res => console.log(res))
.then(this.setState({
editEmployee: ''
}))
}
Я хочу, чтобы недавно обновленные значения в моем объекте editEmployee были отправлены на внутренний сервер для обновленияинформация о пользователе.