Type 'string' is not assignable to type 'HTMLInputElement'
typescript와 react hoor form을 사용하는데 비밀번호 현재값을 input_password.current에 담으려 하자 아래와 같은 타입에러를 만났다.
상황: 비밀번호 확인(재입력)란에서 현재 입력된 비밀번호와 재입력된 비밀번호가 같은지 확인하기 위해 현재 입력된 비밀번호를 useRef 함수가 담긴 변수 input_password의 .current에 담음.
useRef에 타입을 지정해줬어야 했는데, 에러문구를 보고 다짜고짜 useRef<string>() 이렇게 string으로 타입을 지정해주면 이번엔 current에서 에러가 난다.
훅의 초기값을 null로 줘놓고 null 타입을 안 주는 만행을 저질러서 변경 불가능(read only)하게 되는 것이라고 한다.
아래처럼 <string | null>로 타입을 지정해주면 오류는 사라진다.
참고자료
https://bobbyhadz.com/blog/react-cannot-assign-to-current-because-read-only-property
'Ez to Play - Project > Error Note' 카테고리의 다른 글
[Ez to Play / Error Note] 이미지 태그로 감쌌을 때 생기는 공백 문제 (0) | 2023.09.22 |
---|---|
[Ez to Play / Error Note] 로그아웃시 쿠키 삭제 안 되는 문제 (0) | 2023.07.26 |
[Ez to Play / Error Note] ESLint - 'process' is not defined (0) | 2023.07.08 |
[Ez to Play / Error Note] React Hook Form 사용시 ref={register}에서 에러나면 (0) | 2023.07.08 |