Есть такой код:
const rejectedCodes = {unverifiable: {status: false, code: 3}, ...}
const [rejectedStatuses, setRejectedStatuses] = useState(rejectedCodes);
<Checkbox
checked={rejectedStatuses.unverifiable.status}
onChange={(e) => {
setRejectedStatuses({
...rejectedStatuses,
unverifiable: { ...rejectedStatuses.unverifiable, status: e.target.checked }
})
console.log(rejectedStatuses);
}}
>
Unverifiable
</Checkbox>
При клику на этот чекбокс стейт меняется как надо, но само состояние чекбокса противоположно ему - т.е. при status: true свойство чекбокса checked равно false и наоборот.
Попытка костылить инверсией стейта, естественно, делает чекбокс некликабельным.