*React Native๋ฅผ ์ฌ์ฉํ๋ฉด IOS, Android ๊ฐ๋ฐ์ ๋ณ๋๋ก ํ์ง ์๊ณ App ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ๋ค. ๊ทธ๊ฒ ๊ฐ๋ฅํ ์ด์ ๋ IOS์ Android๋ tag๋ฅผ ๊ตฌ๋ถํ์ฌ ์ฌ์ฉํ๋๋ฐ RN์์๋ ๊ทธ๊ฒ์ ํฌ๊ดํ๋ Component๋ฅผ ์ ๊ณตํ๊ณ App์ด ๋ฐฐํฌ๋ ๋ ๊ฐ๊ฐ์ ์ธ์ด๋ก conversion ๋๊ธฐ ๋๋ฌธ์ด๋ค.
+ TouchableOpacity:
button tag๊ฐ ์์ง๋ง custom์ ์ด๋ ค์ ๋๋ฌธ์ TouchableOpacity๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ค.
<Default ์ค์ >
import React, { Component } from 'react';
import { StyleSheet, Text, View } from 'react-native';
const styles = StyleSheet.create({
bigBlue: {
color: 'blue',
fontWeight: 'bold',
fontSize: 30,
},
red: {
color: 'red',
},
});
1) display: flex; + flex-direction: column;
2) flex: 1; (width,height: 100%, 100vw, 100vh ๋ฑ)
1) react-navigation/native: react-router-dom์ ๊ธฐ๋ฅ์ ํ๋ค.
npm install @react-navigation/native
expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view
์ฌ์ฉ๋ฒ: ์๋์ ์ฝ๋๋ฅผ js file์ import ํ๊ณ NavigationContainer component๋ฅผ ์ฌ์ฉํ๋ค.
import 'react-native-gesture-handler';
import { NavigationContainer } from '@react-navigation/native';
<NavigationContainer>
</NavigationContainer>
2) react-navigation/stack: ์ ์ ๊ฐ ์ด๋ํ ํ์ด์ง์ ์์น๋ฅผ ์๋์ผ๋ก ๊ธฐ์ตํ๊ณ prevPage๋ก ์ด๋์ ๋์์ค๋ค.
npm install @react-navigation/stack
์ฌ์ฉ๋ฒ: ์๋์ ์ฝ๋๋ฅผ js file์ import ํ๊ณ Stack.Navigator๋ฅผ ์ฌ์ฉํ๋ค.
import { createStackNavigator } from '@react-navigation/stack';
const Stack = createStackNavigator();
<Stack.Navigator>
3) navigation.###
navigation.navigate:
์ด๋ํ๋ ค๋ page์ ๊ฒฝ๋ก๊ฐ ๋ช
ํํ ๊ฒฝ์ฐ, ์์ธ route๋ฅผ ๋ฌด์ํ๊ณ ํด๋น ํ์ด์ง๋ก ์ด๋ํ ๋ ์ฌ์ฉํ๋ค.navigation.popToTop:
๊ฐ์ฅ ์ฒซ๋ฒ์งธ ํ๋ฉด์ผ๋ก ์ด๋ํ ๋ ์ฌ์ฉํ๋ค. navigation.push:
๋์ผ page ๊ฒฝ๋ก์์ ๋ค๋ฅธ ์ ๋ณด๋ค์ ํํํ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค.(push ํ ๋๋ง๋ค ์๋ก์ด route๊ฐ ์์ธ๋ค === stack!)navigation.goBack:
์ด์ route stack์ผ๋ก ์ด๋ํ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ค.. window : ctrl + M
. mac: command + D