2022. 1. 12. 14:58ㆍReact Native/Basic

2. React Navigation 설치
https://reactnavigation.org/docs/getting-started
https://reactnavigation.org/docs/getting-started/
reactnavigation.org
위 사이트를 들어가면 설치 과정이 상세히 나온다.
react-native init <package-name>
위의 명령어로 새로운 패키지를 만들어 준 뒤, 아래의 코드들을 순서대로 터미널에 작성하여 초기 설치를 진행한다.
npm install @react-navigation/native
npm install react-native-screens react-native-safe-area-context
버전이 업데이트되면서 linking 과정이 자동적으로 수행되기 때문에 다른 것들은 할 필요 없이 아래 코드만 실행해 준다.
npx pod-install ios
여기의 내용은 버전이 업데이트되면서 강의와 다른 내용으로 진행된다.
android/app/src/main/java/<your package name>/MainActivity.java
위의 경로에 있는 MainActivity.java 파일로 들어간 뒤,
import android.os.Bundle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(null);
}
위의 코드들을 복사 붙여넣기 한다.
그리고 entry file인 index.js 나 App.js 에 아래와 같이 코드를 작성하면 된다.
import * as React from 'react';
import { NavigationContainer } from '@react-navigation/native';
export default function App() {
return (
<NavigationContainer>{/* Rest of your app code */}</NavigationContainer>
);
}
그리고 강의에서는 stack-navigation 을 사용할 예정으로 아래 코드를 추가로 실행하여 stack-navigation을 위한 설치 작업도 해줬다.
npm install @react-navigation/native-stack
설치한 항목들은 package.json에 들어가면 확인 가능하다.
{
"name": "react_navigation_01",
"version": "0.0.1",
"private": true,
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"start": "react-native start",
"test": "jest",
"lint": "eslint ."
},
"dependencies": {
"@react-navigation/bottom-tabs": "^6.0.9",
"@react-navigation/native": "^6.0.6",
"@react-navigation/native-stack": "^6.2.5",
"react": "17.0.2",
"react-native": "0.66.4",
"react-native-safe-area-context": "^3.3.2",
"react-native-screens": "^3.10.1"
},
"devDependencies": {
"@babel/core": "^7.16.7",
"@babel/runtime": "^7.16.7",
"@react-native-community/eslint-config": "^3.0.1",
"babel-jest": "^27.4.6",
"eslint": "^8.6.0",
"jest": "^27.4.7",
"metro-react-native-babel-preset": "^0.66.2",
"react-test-renderer": "17.0.2"
},
"jest": {
"preset": "react-native"
}
}
참고 자료
iOS/Android 앱 개발을 위한 실전 React Native - Basic - 인프런 | 강의
Mobile App Front-End 개발을 위한 React Native의 기초 지식 습득을 목표로 하고 있습니다. 진입장벽이 낮은 언어/API의 활용을 통해 비전문가도 쉽게 Native Mobile App을 개발할 수 있도록 제작된 강의입니다
www.inflearn.com
'React Native > Basic' 카테고리의 다른 글
[React Native] React Navigation - 4. [Stack] Navigation Params (0) | 2022.01.14 |
---|---|
[React Native] React Navigation - 3. [Stack] 화면 Linking (0) | 2022.01.13 |
[React Native] React Navigation - 1. React Navigation 소개 (0) | 2022.01.12 |
[React Native] React Native Component - 13. Modal (0) | 2022.01.12 |
[React Native] React Native Component - 12. Image (0) | 2022.01.12 |