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/
'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 |