我有一个功能组件和状态挂钩,现在我想将所有选中的项目推e.target.name送到 useState 挂钩的特定数组中
const [former, setformer] = useState({
blocka : [],
blockb : [],
blockc : []
})
//This handle event I got some idea from one of stackoverflow : https://stackoverflow.com/questions/37129437/how-do-i-use-react-and-forms-to-get-an-array-of-checked-checkbox-values
const handleCheck = (e) => {
const fieldname = e.target.name
const options = former.fieldname
let index
if (e.target.checked) {
options.push(+e.target.value)
} else {
index = options.indexOf(+e.target.value)
options.splice(index, 1)
}
setformer({ ...former, [options]: options})
}
<input type="checkbox" name="blocka" onChange={handleCheck} value="a" />
<input type="checkbox" name="blocka" onChange={handleCheck} value="b" />
<input type="checkbox" name="blocka" onChange={handleCheck} value="c" />
<input type="checkbox" name="blockb" onChange={handleCheck} value="d" />
<input type="checkbox" name="blockb" onChange={handleCheck} value="e" />
<input type="checkbox" name="blockb" onChange={handleCheck} value="f" />
<input type="checkbox" name="blockc" onChange={handleCheck} value="g" />
<input type="checkbox" name="blockc" onChange={handleCheck} value="h" />
<input type="checkbox" name="blockc" onChange={handleCheck} value="i" />
现在的问题是它的推送不是一个功能 谁能指导我完成此代码或任何更改?