我有一个状态,并且正在循环更新它。我遇到一个问题,即先前更新的状态没有足够的时间来更新,因此我得到未定义的值。
示例:
Company name | Contact | Position | Email
FooFoo Inc | Me | ceo | stuff@
FooFoo Inc | You | ceo | stuff@
FooFoo Inc | Friend | ceo | stuff@
FooFoo Inc | Picard | cto | stuff@
Pear Co..... etc.
在第二个项目中,我正在更改电子邮件属性,但希望保持密码属性不变。
const [errors, setErrors] = useState({})
结果最终给了我
电子邮件:test1
和
密码:未定义
是否可以像这样更新状态?还是我以错误的方式进行操作?
答案 0 :(得分:2)
使用export PATH="$PATH:/YOUR_FLUTTER_DIR/flutter/bin"
和updater
的{{1}}版本覆盖useState
的所有属性
spread
答案 1 :(得分:0)
您可以一次设置一次吗?您不应该在一个钩子中多次调用同一个setState函数
let currentEmail = null;
let currentPassword = null;
for (let i = 0; i < res.length; i += 1) {
if (i % 2) {
currentEmail = `test_${i}`;
} else {
currentPassword = `test2_${i}`;
}
}
setErrors({ email: currentEmail, password: currentPassword });