I have below JSX -
<FormGroup>
<Label for="exampleEmail" style={{fontWeight:"bold"}}>What is your e-mail address?</Label>
<Input type="email" name="email" id="exampleEmail" onChange={(e)=>setStateForProperties(e)} />
</FormGroup>
<FormGroup>
<Label for="examplePassword" style={{fontWeight:"bold"}}>What is your password?</Label>
<Input type="password" name="password" id="examplePassword" onChange={(e)=>setStateForProperties(e)}/>
</FormGroup>
State Declarations -
const iLoginCreds ={
userName:'',
password:''
}
const [loginCreds, setLoginCredentials] = useState(iLoginCreds)
onChange Method changing state -
function setStateForProperties(e)
{
alert(e.target.id);
switch (e.target.id) {
case 'exampleEmail':
setLoginCredentials(...loginCreds,{
userName:e.target.value
});
break;
case 'examplePassword':
setLoginCredentials(... loginCreds,{
password:e.target.value
});
default:
break;
}
console.log(loginCreds);
}
Error -
When I write anything in textbox (upon onchange event trigger) , I receive an error -
TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator))