new Date('2021-09-30 22:35:23') // Date { NaN }
IE8 이하는 YYYY-MM-DD 패턴 지원하지 않는다.
불안정한 네트워크 환경의 모바일에서
오프라인으로 사용하다 온라인 상황이 될 경우,
서버 데이터 시간과 로컬 데이터 시간을 비교해서 업데이트 여부를 결정하려고 했다.
// React-Native 환경에서 아래 식은 항상 false를 리턴.
new Date('2021-09-30 22:35:23') >= new Date('2021-09-29 21:34:23')
왜 그랬을까?
최신 브라우저는 아래와 같이 사용해도 Date 값을 정상적으로 리턴해준다.
new Date('2021-09-30 22:35:23')
하지만 React-Native나 IE8 이하에서는 YYYY-MM-DD 패턴은 인식하지 못 하고
Date { NaN } 이런 유효하지 않은 데이터 객체를 리턴한다.
그럼 어떻게?
1. 입력 값을 ISO 8601 기준에 맞게 사용.
new Date(2021, 09, 30, 22, 35, 23) 와 같이 사용하거나 YYYY/MM/DD 이렇게 사용.
2. moment.js 와 같은 라이브러리를 사용한다.
'Develop > ReactNative' 카테고리의 다른 글
expo start --android --localhost NOT WORKING (0) | 2022.09.20 |
---|---|
[rn] 커스텀 경로 설정으로 상대경로를 절대경로로 사용하자.😁 (0) | 2021.10.05 |
[rn] Error: androidx.appcompat.widget.AppCompatEditText.setBackgroundDrawable (0) | 2021.09.26 |
댓글