인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

정중한 몽구스님의 프로필 이미지
정중한 몽구스

작성한 질문수

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

8.6) Update - 투두 수정하기

input태그에 readOnly 속성이 적용되어 있는데 onChange가 되는 이유가 무엇인가요?

해결된 질문

작성

·

540

·

수정됨

0

 8.5에서 업데이트 기능 구현 전, 오류를 없애기 위해서 readonly 속성을 적용시켰었는데, readonly를 지우지 않고도 onChange가 동작해서 여쭤봅니다.

onchange가 값이 변경될 때 실행되는 걸로 알고 있는데, readonly인데 값이 변경될 수 있나요?

 

8.6) Update 입니다.

답변 1

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

우선 친절한 질문 감사합니다 !

우선 input type="check" 태그에 적용한 readonly 속성은 브라우저의 동작 중 체크박스를 풀고 해제하는 행위를 방지하는 속성입니다. 따라서 readonly를 적용해 놓으면 브라우저 기본 동작으로는 체크박스를 켜거나 끌 수 없게 됩니다.

그러나 우리는 React 컴포넌트 내부에서 체크박스의 checked 값을 State를 이용해 직접 변경하고 있습니다. 따라서 readonly 여부와 관계 없이 checked 값을 아예 변경해버리기 때문에 체크를 켜고 끌 수 있게 되는 것 입니다.

감사합니다

정중한 몽구스님의 프로필 이미지
정중한 몽구스

작성한 질문수

질문하기