티스토리 뷰

react native

React Native Navigation , Stack , Tabs 사용하는 방법 React Navigation 라이브러리

YG - 96년생 , 강아지 있음, 개발자 희망 2022. 2. 17. 13:00

JavaScript, React 및 React Native에 이미 익숙하다면, React Navigation을 빠르게 사용할 수 있습니다! 만약 그렇지 않다면, 우리는 당신이 먼저 기본적인 지식을 쌓고, 끝나면 여기로 돌아오는 것을 강력히 추천합니다.

 

최소 요구사항

  • react-native >= 0.63.0
  • expo >= 41 (if you use Expo)
  • typescript >= 4.1.0 (if you use TypeScript)

설치 방법

React Native 프로젝트에 필요한 패키지를 설치합니다.

 

1.react-navigation/native

 

npm install @react-navigation/native

 

2. react-native-screens react-native-safe-area-context

 

엑스포 프로젝트일 경우

expo install react-native-screens react-native-safe-area-context

 

 엑스포가 아닌 기본 React Native 프로젝트 일 경우

npm install react-native-screens react-native-safe-area-context

 

3. (선택사항) Mac, Ios 개발을 하는 사람의 경우

npx pod-install ios

 

 

4. react-navigation/native-stack

 

npm install @react-navigation/native-stack

 

 

사용 방법

 

1. App 파일에 NavigationContainer를 사용하기

 

2. 컴포넌트 밖에서 createNativeStackNavigator()을 선언하기

 

3. 스크린으로 사용할 컴포넌트 만들기

 

4. 다음과 같이 하시면 됩니다. 

 

// In App.js in a new project

import * as React from 'react';
import { View, Text } from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';

function HomeScreen() {
  return (
    <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
      <Text>Home Screen</Text>
    </View>
  );
}

const Stack = createNativeStackNavigator();

function App() {
  return (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen name="Home" component={HomeScreen} />
      </Stack.Navigator>
    </NavigationContainer>
  );
}

export default App;

 

다양한 옵션들 ( tab의 색을 변하게 하거나 , header을 숨기거나 등등)

import React from 'react';
import Home from '../screens/Home';
import Write from '../screens/Write';
import { createNativeStackNavigator } from '@react-navigation/native-stack';

const Tabs = createNativeStackNavigator();

export default function Navigator() {
  return (
    <Tabs.Navigator
      screenOptions={{ headerShown: false, presentation: 'modal' }}
    >
      <Tabs.Screen name="Home" component={Home} />
      <Tabs.Screen name="Write" component={Write} />
    </Tabs.Navigator>
  );
}

 screenOptions 에서와 같이 다양한 옵션들을 줄 수 있습니다.

 

옵션이 다양하기 때문에 필요한 옵션은 여기에서 찾아서 사용하시면 됩니다.

 

 

React Navigation | React Navigation

Routing and navigation for your React Native apps

reactnavigation.org

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함