首页 > 解决方案 > 如何在 React JS 中使用 useState 将状态对象中的对象数组设置为空?

问题描述

如何在 React JS 中使用 useState 将状态对象中的对象数组设置为空。我在更改下拉列表中有以下组件,我需要将对象设置为空或从状态对象中删除。

const FormComponent = () => {
  const [formValue, setFormValue] = useState({});
  
onChange = (value, field) => {
let value = {...formValue, value};
setFormValue(value);
}

  return (
 <>
// Form component goes here with input , dropdown. And having common onChange Method for all element
</>
)

}  

所以,我们有像管理员、用户客户端这样的下拉选项。当从下拉列表中选择管理值时,下面的 formValue 对象即将到来

formValue = {
 admin: [{
text: "admin"
}],
content: "",
type: "Admin"
}

现在,如果我将值从 admin 更改为“user”,则表单值显示如下

 formValue = {
     admin: [{
    text: "admin"
    }],
    user: [{
    text: "user"
    }],
    content: "",
    type: "User"
    }

每当我将下拉列表值从管理员更改为用户时,如何从 formValue 对象中删除管理对象属性/空数组对象。

只要下拉值具有管理员、用户客户端等属性,它就应该存储相应的属性

标签: javascriptreactjs

解决方案


只需将您的onChange功能更改为此

onChange = (value, field) => {
  setFormValue(value); 
}

以下语句的问题是它结合了formValuevalue

let value = {...formValue, value}; // **value** 

推荐阅读