작업 상태

- 소개 페이지에 나온것처럼 npx create-expo-app AwesomeProject, npx expo start 을 이용해서 작업을 진행하고, 

npx expo run:android를 실행하던중 문제가 발생했습니다.

 
에러 메시지 
requireNativeComponent: "RNSScreen" was not found in the UIManager.


원인
정확한 원인 발견하지 못했습니다. 단지 expo로 만든 프로젝트 초기에는 android native 코드가 없다가 npx expo run:android를 실행하면 android native코드가 생성되는데 이게 현재 사용중인 버전과 다른듯합니다.

 

cd AwesomeProject
npx expo start 또는
expo start 

기초적인 hello 만들때까지도 괜찮았습니다.
npx expo run:android 잘 실행됐습니다.

 

그런데
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
import { NavigationContainer } from '@react-navigation/native'; 
이것을 쓰기 시작하면서 이것을 실행하면 RNSScreen에러가 나오기 시작했습니다.
requireNativeComponent: "RNSScreen" was not found in the UIManager.

 

처리

>> 기본적으로 
npx expo install react-native-screens react-native-safe-area-context 
이거랑 gesture 설치하면 동작한다고 하는 곳들이 있었지만 저는 다 실패했습니다.

 

결국 expo 에서는 해결 못하고 우회했습니다.
] npx create-react-native-app CPlayer
] expo install react-native-screens react-native-safe-area-context ...
혹시 몰라서 관련 패키지를은 전부 expo install로 설치했습니다.
] npx expo run:android

우회한 경우에는 특이사항 없이 잘 동작했습니다.

참고

https://docs.expo.dev/

 

Expo Documentation

 

docs.expo.dev

문제 발생시 package.json

{
  "name": "cxcer",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "start": "expo start --dev-client",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web"
  },
  "dependencies": {
    "@expo/vector-icons": "^13.0.0",
    "@react-native-async-storage/async-storage": "1.17.11",
    "@react-native-community/datetimepicker": "6.7.3",
    "@react-native-picker/picker": "2.4.8",
    "@react-navigation/bottom-tabs": "^6.5.7",
    "@react-navigation/native": "^6.1.6",
    "expo": "~48.0.10",
    "expo-background-fetch": "~11.1.1",
    "expo-constants": "~14.2.1",
    "expo-notifications": "~0.18.1",
    "expo-splash-screen": "~0.18.1",
    "expo-status-bar": "~1.4.4",
    "expo-task-manager": "~11.1.1",
    "loadsh": "^0.0.4",
    "react": "18.2.0",
    "react-native": "0.71.6",
    "react-native-safe-area-context": "4.5.0",
    "react-native-screens": "~3.20.0"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0"
  },
  "private": true
}

+ Recent posts