input type="checkbox"에서 checked 속성 관리하기
Warning: You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.
아래와 같이 onClick속성과 checked를 사용하니 위와 같은 오류메시지가 떴다.
<input
type="checkbox"
id={catData.sub[j]}
onClick={handleClick}
checked={selectedKeyword.includes(catData.sub[j]) ? true : false}
></input>
checked가 바뀔 필요가 없으면 defaultChecked로 바꾸거나, readOnly속성을 지정하라고 한다.
리셋 버튼을 통해 checkbox를 전체적으로 해제하기 위해 checked속성을 사용한 것이기 때문에 다른 방법으로 해결한다.
onClick대신 onChange로 바꿔준다.
<input
type="checkbox"
id={catData.sub[j]}
onChange={handleClick}
checked={selectedKeyword.includes(catData.sub[j]) ? true : false}
></input>
이렇게 작성하면 오류메시지가 사라진다.
*해결방법
1. checked -> defaultChecked 혹은 readOnly 속성 지정
2. onClick -> onChange
참고한 페이지
https://devlog.jwgo.kr/2018/11/28/checkbox-error-with-react/
리액트에서 체크박스 사용 시 에러가 발생할 때 해결방법 · Tonic
사이트 운영에 도움을 주실 수 있습니다. 고맙습니다. --> 리액트에서 체크박스 사용 시 에러가 발생할 때 해결방법 2018년 11월 28일 문제 리액트(React)에서 체크박스(Checkbox) 사용 시 아래와 같은
devlog.jwgo.kr
'React' 카테고리의 다른 글
다이어리 검색기 만들기(3) - 선택된 키워드 관리 (0) | 2021.10.07 |
---|---|
React 오류 메시지 - exhaustive-deps-warning (0) | 2021.10.07 |
다이어리 검색기 만들기(2) - 카테고리 표시하기 (0) | 2021.10.06 |
Create-react-app 설치 오류(npm WARN deprecated tar@2.2.2) (0) | 2021.09.30 |
다이어리 검색기 만들기 (1) (0) | 2021.09.30 |