javascript - 如何有选择地为具有两个对象数组的对象设置状态?
问题描述
如何将新对象添加到数据中:[] 使用 setState() 进行以下代码或完全替换数据?
const [tableState, setTableState] = useState<TableState>({
columns: [
{ title: "First Name", field: "firstName" },
{ title: "Last Name", field: "lastName" },
],
data: [
{
firstName: "John",
lastName: "Doe",
},
{
firstName: "Jane",
lastName: "Doe",
},
],
});
setState(prevState => ({...prevState.tableState, ???}))
解决方案
hooks
你在和传统之间混合setState
。
从上面的代码中,您应该使用setTableState
函数来更新您的状态。
setTableState(prevState => ({
...prevState,
data: [
...prevState.data,
{
firstName: 'New FirstName',
lastName: 'New Last Name'
}
]
}))
推荐阅读
- ssas - 如何清除缓存 ssas 表格
- angular - 仅在 Angular 9 中使用 JSON 文件而不是环境文件来构建应用程序
- javascript - 当锚标记内的文本变长时,跨度标记向下移动
- mysql - 如何从部分不同值的每个子集中仅选择第一行?
- c - 为什么我的函数会产生冲突类型错误?
- c# - 按数据网格、组合框、日期时间选择器搜索
- flutter - 如何在 dart/flutter 中迭代 2 个不同数组中的每个值?
- raspberry-pi - 我可以将 raspi-lora 与 The Things Network 一起用于 Raspberry 端节点吗
- c# - SQL插入函数在没有连接时崩溃
- vba - VBA:“CreateObject(“System.Security.Cryptography.HMACSHA1”)的自动化错误