<aside> 💡 input type="checkbox"의 체크여부를 스테이트로 관리하는 방법에 대해 알아보자.
</aside>
우리는 form안에 여러 input태그들을 넣어놓고 마지막에 submit하는 형식을 자주 접하게 된다. 일반적인 text나 number type인경우에는 단순히 onChange나 ref를 통해 state관리가 매우 편하겠지만, checkbox의 경우 약간 다르기에 정리하고자 한다.
가져오는 방식은 다음과 같다.
const [reminder, setReminder] = setState(false)
...
//reminder가 트루일때는 checked가 되도록, 아니면, false가 되도록 설정
//onChange함수를 통해 값이 변할때 마다 reminder가 변하도록 설정.
<div className="form-control form-control-check">
<label>Set Reminder</label>
<input
type="checkbox"
checked={reminder ? true : false}
value={reminder}
onChange={(e) => setReminder(e.currentTarget.checked)}
/>
</div>
과정을 정리하자면 아래와 같다.