개발자

react native 안드로이드랑 ios랑 다른 문제

2023년 03월 02일조회 342

리액트 네이티브 앱을 만들고 있는데 아래 코드가 ios에서는 잘되는데 안드로이드에서는 안돼요. 혹시 이유를 아시는 분 있나요?

1const date = new Intl.DateTimeFormat('ko-KR').format(date);
이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

인기 답변

손정현님의 프로필 사진

안녕하세요! 리액트 네이티브 안드로이드 build.gradle 파일을 확인해보시면 좋을 것 같습니다. 어떤 자바스크립트 컴파일러를 사용하는지 알 수 있으면 답변에 도움이 될 것 같아요. 리액트 네이티브 (v 0.60 이상)에서 만약 컴파일러가 'org.webkit:android-jsc:+'라면 Intl API가 없기 때문에 작동하지 않을겁니다. intl이 포함된 android-jsc를 사용해주셔야해요. ex) def jscFlavor = 'org.webkit:android-jsc-intl:+' (6 MiB 정도 더 큼) 아니면 Hermes를 사용하시면 Intl API가 포함되어 있습니다 :) - https://reactnative.dev/blog/2021/08/17/version-065#whats-new-in-hermes-08

profile picture

익명

작성자

2023년 03월 07일

오! 이거였던거 같습니다. 답변 감사합니다. 근데 단점도 있군요ㅠㅠ 그래도 원인은 알게됐네요. 감사합니다!

조찬우님의 프로필 사진

혹시 일부 안드로이드 기기에서 Intl 객체를 지원하지 않아서 동작하지 않을 수 있을것 같은데요. 이럴 경우 moment.js, datę-fns 같은 외부 라이브러리를 채택해 날짜 포맷을 처리하면 어떨까요? 즉 해당 자바스크립트 코드에 문제는 없다고 판단되기에 위 방법을 해보시는걸 말씀드려봅니다🙋🏻

profile picture

익명

작성자

2023년 03월 07일

아하, 그렇군요 뭔가 라이브러리를 더 설치해야한다는게 부담스럽기는한데 고려해볼 수 있을 것 같네요. 감사합니다!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!