๋ฐ˜์‘ํ˜•

๊ฐœ๋ฐœ ๐Ÿพ/React Native 5

screenOptions๋กœ ํ—ค๋” ๊พธ๋ฏธ๊ธฐ

react-router๋กœ ๊ตฌ์กฐ๋ฅผ ์งœ๊ณ  ๋‚˜๋ฉด ์ž๋™์œผ๋กœ ํ—ค๋”์— name์ด ๋“ค์–ด๊ฐ€ ์žˆ๊ณ  ๊ธฐ๋ณธ์ ์œผ๋กœ ํฐ์ƒ‰์— ๊ฒ€์€ ๊ธ€์”จ๋กœ ๋˜์–ด์žˆ๋‹ค. ์ด๋ฅผ ์ปค์Šคํ…€ํ•˜๊ธฐ ์œ„ํ•ด screenOption๊ฐ’์„ ๋„ฃ์–ด์ค„ ์ˆ˜ ์žˆ๋‹ค. ๊ณตํ†ต์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด Stack.Navigator์— ์ผ๊ด„๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฐ™์€ navigator์— ์žˆ๋Š” screen๋“ค์„ group์œผ๋กœ ๋ฌถ์–ด์„œ ๋”ฐ๋กœ ์ฒ˜๋ฆฌํ•ด ์ค„ ์ˆ˜ ๋„ ์žˆ๋‹ค. 1. ๊ณตํ†ต์œผ๋กœ ์˜ต์…˜ ์ฃผ๊ธฐ title์„ ์˜ต์…˜์— ๋„ฃ๊ฒŒ ๋˜๋ฉด, HomeStack.Screen ์•ˆ์— name ๋Œ€์‹  HomeStack.Navigator ์•ˆ์˜ title์„ ๋ณด์—ฌ์ค€๋‹ค. ์Šคํƒ€์ผ์€ headerStyle ์•ˆ์— ์ž‘์„ฑํ•ด ์ฃผ๋ฉด ๋œ๋‹ค. 2. ํŽ˜์ด์ง€๋ณ„๋กœ ๊ฐ๊ฐ ์ฃผ๊ธฐ ํŽ˜์ด์ง€๋ณ„๋กœ ๊ฐ๊ฐ ์ปค์Šคํ…€์„ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Stack.Group์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ๊ฐ ๋ฌถ์„ ์ˆ˜ ์žˆ๋‹ค. he..

React Router

- react navigation: https://reactnavigation.org/docs/getting-started/ - ๋‹ค์Œ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. "@react-navigation/native": "^6.0.11", "@react-navigation/stack": "^6.2.2", ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ์—์„œ ์‚ฌ์šฉํ•˜๋Š” react-navigation์€ stack ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. stack ๋ฐฉ์‹์€ ํด๋ฆญ์„ ํ–ˆ์„๋•Œ ํ™”๋ฉด์ด ํ•˜๋‚˜์”ฉ stack์— ์Œ“์ด๋Š”๋ฐ ๊ทธ์ค‘ ์ตœ์ƒ์œ„ ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  back ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ตœ์ƒ๋‹จ์˜ ํ™”๋ฉด์„ ์ œ๊ฑฐํ•˜๋ฏ€๋กœ์จ ์ด์ „ ํ™”๋ฉด์„ ๋ณด์—ฌ์ค€๋‹ค. * ์„ค์น˜ expo install @react-navigation/native expo install @react-navigation/stack..

[expo] ์›นํฐํŠธ webfont ์ ์šฉํ•˜๊ธฐ

์‚ฌ์‹ค expo ๊ณต์‹ ๋ฌธ์„œ์— ๋‹ค ๋‚˜์™€์žˆ๋‹ค. ๊ทผ๋ฐ ๊ณต์‹๋ฌธ์„œ ๋’ค์ง€๊ธฐ๋„ ๊ท€์ฐฎ์œผ๋‹ˆ ์ •๋ฆฌํ•ด ๋‘๊ธฐ๋กœ ํ–ˆ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ url : https://docs.expo.dev/guides/using-custom-fonts/ 1. ์„ค์น˜ @expo-google-fonts/inter ๋ฅผ ๋จผ์ € ์„ค์น˜ํ•ด ์ค€๋‹ค. $ expo install expo-font @expo-google-fonts/inter 2. ์ ์šฉํ•  ํฐํŠธ ์ฐพ๊ธฐ https://fonts.google.com/ ์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€์„œ ์›ํ•˜๋Š” ํฐํŠธ๋ฅผ ์ฐพ๊ณ  ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค. ํ˜น์€ ์ด๋ฆ„๋งŒ ์•Œ์•„๋„ ๋˜๋Š” ๋ชจ์–‘์ด๋‹ค. ๋‚˜๋Š” ๋ˆˆ์— ๋„๊ฒŒ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•œ ํฐํŠธ๋ฅผ ์ฐพ์•˜๋‹ค. "Edu SA Beginner" ๋ผ๋Š” ๊ธ€์”จ์ฒด๋ฅผ ์ฐพ์•˜๋‹ค. 3. App์— component๊ฐ€ render๋˜๊ธฐ์ „์— ์ ์šฉํ•˜๊ธฐ import { u..

TextInput ์ž…๋ ฅ์‹œ Keyboard ์ฐฝ ๋‹ซ๊ธฐ

์ž…๋ ฅ์„ ํ•ด์•ผํ•˜๋Š” ํ™”๋ฉด์—์„œ TextInput์— focus ๊ฐ€ ๋˜๋ฉด ์ž๋™์œผ๋กœ Keyboard๊ฐ€ ์˜ฌ๋ผ์˜ค๋Š”๋ฐ, ์•„๋ฌด๊ณณ์ด๋‚˜ ํด๋ฆญํ–ˆ์„๋•Œ ์ด๋ฅผ ๋‹ค์‹œ ๋‚ด๋ ค๊ฐ€๊ฒŒ ํ•˜๊ณ ์‹ถ๋‹ค. TouchableWithoutFeedback, Keyboard ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. \ TouchableWithoutFeedback ํƒœ๊ทธ๋กœ ์ „์ฒด ์˜์—ญ์„ ๊ฐ์‹ผ๋˜ onPress ํ•จ์ˆ˜์— Keyboard.dismiss() ํ•จ์ˆ˜๋งŒ ํ˜ธ์ถœํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด์ œ๋œ๋‹ค. ์˜ˆ์ œ์ฝ”๋“œ) return ( { console.log('dismissed keyboard') Keyboard.dismiss() }}> ); } ์ƒ๊ฐ๋ณด๋‹ค ์ •๋ง ๊ฐ„๋‹จํ•˜๋‹ค. ์Šต๊ด€์ ์œผ๋กœ javascript๋กœ๋งŒ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ... ๊ทธ๋ƒฅ ์›ฌ๋งŒํ•˜๋ฉด ๋‹ค ๋ถˆ๋Ÿฌ์˜ค๋ฉด ๋œ๋‹ค. ํ—ˆํ—ˆ ๋จธ์“ฑ์ฝ”์“ฑ๐Ÿ™„

expo๋กœ ์‹œ์ž‘ํ• ๋•Œ ๊ธฐ๋ณธ ์„ค์ง€ ๋ชฉ๋ก ์ •๋ฆฌ

์ตœ๊ทผ์— ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ ๊ณต๋ถ€๋„ ์‹œ์ž‘ํ–ˆ๋‹ค. ์•„์ง ์ดˆ๋ฐ˜์ด๋ผ ํ•ด๋งค๋Š” ์ค‘์ด์ง€๋งŒ ํ•˜๋‚˜์”ฉ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๊ธฐ๋ณธ ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ช… ๋Œ€์‹  . ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. expo init (๋””๋ ‰ํ„ฐ๋ฆฌ๋ช…) expo init . ๋„ค๋น„๊ฒŒ์ด์…˜ ## react navigation : https://reactnavigation.org/ npm install @react-navigation/native expo install react-native-screens react-native-safe-area-context ( for expo ) - stack npm install @react-navigation/stack npm install react-native-gesture-handler ## icons : https:/..

๋ฐ˜์‘ํ˜•