首页 > 解决方案 > 无法正确填充 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>
))

标签: javascriptreactjsreact-hooks

解决方案


我相信代码应该如下:

const [ filters, setFilters ] = useState({});

const classifications = ['a', 'b', 'c']

const selectFilter = (filter, selectedFilter) => {
  setFilters({ [filter]: [...classifications,  selectedFilter ]});
};

推荐阅读