【发布时间】:2020-11-29 17:12:58
【问题描述】:
我的 useState 有问题,当我在我的 useState 中更新我的数据时,我的渲染中的数据没有改变
我的使用状态:
const [data,setData] = useState(question.choices.reduce((prev,cur) => {
prev[cur.uuid] = {
uuid: cur.uuid,
checked:false,
qte:0,
choicePoint:cur.choicePoints,
name:cur.name
}
return prev
},{} as Record<string,ICheckBox>));
我用它来显示我的数据:
question.choices && question.choices.map(e => (
<div key={e.uuid}>
<Checkbox key={e.uuid} checked={data[e.uuid].checked} onClick={() => {handleCheckBox(e)}}>{e.name}</Checkbox>
</div>
))
还有我的函数 HandleCheckBox :
const handleCheckBox = (choice:IChoice) =>{
if(data[choice.uuid].checked == true){
data[choice.uuid].checked = false;
}else if((data[choice.uuid].checked == false)){
data[choice.uuid].checked = true;
}
}
如果有人有想法,这个错误很奇怪我不明白为什么我的“选中”在我点击它时没有改变。
【问题讨论】:
标签: reactjs typescript use-state