티스토리 뷰
React Native "RNSScreen" was not found in the UIManager
react native에서 Navigation을 사용하려고 코드를 작성했는데 에러가 발생했다. 특이한건 Android 에뮬레이터에서는 에러가 발생하는데 web으로 컴파일하니까 정상적으로 동작했다.
에러내용
# Invariant Violation: requireNativeComponent: "RNSScreenStackHeaderConfig" was not found in the UIManager.
# Invariant Violation: requireNativeComponent: "RNSScreen" was not found in the UIManager
에러 관련해서 구글에 나와있는 거의 모든글에 있는 것들을 다 해봤는데도 해결되되지 않았다. 패키지 설치가 문제라는 글이 대부분이고 거기서 설치해보라는건 다 해봤다.
설치한 패키지
npm install @react-native-community/masked-view
npm install @react-navigation/native
npm install @react-navigation/stack
npm install react-native-gesture-handler
npm install react-native-reanimated
npm install react-native-safe-area-context
npm install react-native-screens
npm install pod
해결방법
정확히 어디서 에러가 발생하는 것인지 소스코드를 하나씩 지우면서 해봐도 알 수 없었다. 그런데 web에서는 동작하는거보니 아무래도 에뮬레이터에 문제가 있나해서 혹시나 하고 에뮬레이터 버전을 변경해봤다. 그랬더니 단번에 해결됐다.
에러발생 에뮬레이터 버전 : Oreo8.1 - API 27
정상동작 에뮬레이터 버전 : Pie 9.0 - API 28
개발환경이나 소스코드, 그리고 Android, iOS 에뮬레이터에 따라서 차이가 있을 수 있어서 정확한 해결방법은 아니겠지만 아무리해도 에러가 발생하는 상황이라면 한 번 에뮬레이터 버전을 변경해보길 바란다.
'프로그래밍 > 모바일개발' 카테고리의 다른 글
flutter vs react native vs xamarin 트렌드 비교 (0) | 2023.03.04 |
---|---|
eas : C:\Users\AppData\Roaming\npm\eas.ps1 파일을 로드할 수 없습니다. 파일이 디지털 서명되지 않았습니다. (0) | 2023.02.28 |
Xamarin 컨트롤 클릭 이벤트 추가 (0) | 2023.02.19 |
Xamarin 뒤로가기 프로그램 종료 (0) | 2023.02.17 |
React Native TextInput 비밀번호 타입으로 입력 (0) | 2023.02.16 |