gpt4 book ai didi

javascript - 更新状态 |对象不可迭代(无法读取属性 Symbol(Symbol.iterator))

转载 作者:行者123 更新时间:2023-12-05 01:28:24 30 4
gpt4 key购买 nike

我有以下 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>

国家声明-

  const iLoginCreds ={
userName:'',
password:''
}
const [loginCreds, setLoginCredentials] = useState(iLoginCreds)

onChange 方法改变状态-

  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);
}

错误-

当我在文本框中写任何东西时(在 onchange 事件触发时),我收到一个错误 -

TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator))

enter image description here

最佳答案

您需要破坏以前的对象属性,并在与新对象合并后返回一个新对象

setLoginCredentials({ ...loginCreds, ...{userName:e.target.value} })

关于javascript - 更新状态 |对象不可迭代(无法读取属性 Symbol(Symbol.iterator)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68644141/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com