//index.tsx
<input type="checkbox" checked={checkedArr[key]} onChange={onChangeToCheck.bind(null, key)}/>
//hook.ts
const [checkedArr, setCheckedArr] = useState([false,false,false,false])
//idx는 number.. boolean이면 안된다
function onChangeToCheck(idx: number | null , e: ChangeEvent<HTMLInputElement>) {
if (idx !== null) {
return setCheckedArr(prev => {
let temp = [...prev];
temp[idx] = !temp[idx];
return temp;
});
}
// 실수: 만약 위에서 return을 안썼다면 else
setChecked(prev => !prev);
}