javascript - 无法正确填充 JSON
问题描述
我有一个复选框列表,当我选中每个复选框时,我想相应地更新 JSON,这就是对象结构的样子
{
classification: ['a', 'b', 'c']
}
但是,它无法正确推送到数组,所以我想知道我是否错误地使用了传播语法。
const [ filters, setFilters ] = useState({});
const classifications = ['a', 'b', 'c']
const selectFilter = (filter, selectedFilter) => {
setFilters({...filters, ...{ [filter]: selectedFilter }});
};
classifications.map(classification => (
<div>
<Checkbox
onChange={() => selectFilter('classification', classification)}
/>
<div>
{ classification }
</div>
</div>
))
解决方案
我相信代码应该如下:
const [ filters, setFilters ] = useState({});
const classifications = ['a', 'b', 'c']
const selectFilter = (filter, selectedFilter) => {
setFilters({ [filter]: [...classifications, selectedFilter ]});
};
推荐阅读
- rust - 四处移动对象,然后调用消耗对象自身的方法会产生“无法移出借来的内容”
- python - 定义一个名为 food 的函数,它接收两个参数
- swift - 将 func loadview 中声明的 self.view 约束到视图控制器的部分区域
- php - 使用索引数组访问多维数组的数组
- php - 无法使用 PDO 连接到 MySQL
- bash - 如何在for循环中使用计数器作为bash文件中的输入
- bash - 如何在 Dockerfile 中正确格式化嵌套的 bash 命令?
- algorithm - 一个有 n 个节点的无向图中的最大边数是多少?
- html - 如何测量带有空格的文本:画布上的预置?
- java - 如何将 Emoji 插件添加到 ZK 框架中使用的 CKEditor?