React:循环遍历对象并更改某些属性

时间:2021-04-28 20:24:11

标签: javascript

我有这个 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;
  });

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

const resetErrors = () => {
let newObject = {...fields};
Object.keys(newObject).map(key => {
  obj[key].error = ''
})
return newObject;
}
.
.
.
setFields(resetErrors());
相关问题