Warning: A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component
에러를 살펴보면 정의되지 않은 값(undefined)에서 정의된 값으로 변경되는 요소이기에 해당 에러가 발생할 수 있으며, 그런 일이 발생해서는 안된다는 이야기를 하고 있는 듯 하다.
input의 value가 뭐라도 있어야한다라는 느낌을 받아서
value={date || ""}
위 코드를 추가하니 해결되었다... 흠
!!!! 다른 해결책
value에 state로 date를 내려주었는데 state의 초기값을 세팅해주니 위 코드 없이도 문제가 해결되었다 !
const [date, setDate] = useState(getStringDate(new Date()));
getStringData는 toISOString 사용 시 UTC Time zone 사용으로 인해 가공된 데이터를 반환해주는 함수.
위 에러는 input의 date 타입에서 발생하였다.
TMI.. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date#browser_compatibility
safari의 date타입 호환성을 눈여겨볼 필요가 있다.. 여러 글을 찾아보니 완전 호환은 아닌 듯 하다.
'문제 및 해결' 카테고리의 다른 글
Intersection Observer API를 이용한 무한 스크롤 구현 (0) | 2023.05.16 |
---|---|
[React]텍스트 슬라이더 구현하기(No Lib) (0) | 2023.01.26 |
webpack 사용 시 비디오 출력 (0) | 2022.09.08 |
eslint와 prettier사용 중 공백 에러 (0) | 2022.08.07 |
[JS]keyup,down이벤트 사용 시 keyCode:229 (0) | 2022.08.07 |