event.target.elements
вернет undefined
Я предлагаю сделать это реагирующим образом, иметь массив всех элементов формы в состоянии.
export default function TransactionFilter() {
const [formData, setFormData] = React.useState([
{ id: 'username', value:'' },
{ id: 'password', value:'' }
]);
const handleSubmit = (event) => {
event.preventDefault();
formData.forEach(element =>
console.log(`I found this ${element.value}`)
);
};
return (
<form onSubmit={handleSubmit}>
{formData.map((element, index) => {
return ( <React.Fragment>
<TextField id={element.id} value={element.value}
onChange={e => {
setFormData(
[
...formData.slice(0, index),
{ ...formData[index], value: e.target.value },
...formData.slice(index + 1)
]
);
}}
/>
<br/>
</React.Fragment>
);
})}
</form>
);
}