我有这个 useState:
const [fields, setFields] = useState({
name: {
value: '',
error: ''
},
lastName: {
value: '',
error: ''
},
phone: {
value: '',
error: ''
}
});
好的,在某些时候,我想重置所有错误,所以我可以这样做:
setFields(prev => {
for (let key in prev) prev[key].error = '';
return prev;
});
但由于某种原因,这不起作用...
嗯,有人建议做这个解决方案,它奏效了:
setFields(prev => {
const copy = { ...prev };
for (let key in copy) copy[key].error = '';
return copy;
});
答案 0 :(得分:0)
你可以试试这个:
const resetErrors = () => {
let newObject = {...fields};
Object.keys(newObject).map(key => {
obj[key].error = ''
})
return newObject;
}
.
.
.
setFields(resetErrors());