javascript - 如何在 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 对象中删除管理对象属性/空数组对象。
只要下拉值具有管理员、用户客户端等属性,它就应该存储相应的属性
解决方案
只需将您的onChange
功能更改为此
onChange = (value, field) => {
setFormValue(value);
}
以下语句的问题是它结合了formValue
和value
let value = {...formValue, value}; // **value**
推荐阅读
- python - 我如何循环数月,一次跳过三个?
- android - 问题未加载 infoStream == null 颤动
- python - Python git 库中的 GitCommandNotFound
- r - 将多个表从一个 tsv 文件读取到 R 数据帧
- api - 在不获取记录的情况下查询 Salesforce REST API
- c - C中的内存泄漏是如何发生的?
- android - Windows 上缺少“x86”CPU 的模拟器引擎程序
- flutter - 如何根据对 textformfield 的更改来更改按钮的文本
- vue.js - 当我刷新或导航时,Vuex 商店不会保持“状态”?
- go - 如何检查服务器中间件中的截止日期