๋ฆฌ์•กํŠธ๋„ค์ดํ‹ฐ๋ธŒ

๋งˆ์นจ๋‚ด ์•ฑ ์Šคํ† ์–ด์— ์•ฑ 'T.o.T'๊ฐ€ ์ถœ์‹œ๋˜์—ˆ๋‹ค.  expo๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋นŒ๋“œํ•œ app์ด ์•ฑ์Šคํ† ์–ด์— ๋ฆด๋ฆฌ์ฆˆ ๋œ ๊ณผ์ •์„ ์ƒ์„ธํžˆ ๊ธฐ๋กํ•ด๋‘๊ณ  ์‹ถ๋‹ค๋Š” ์š•์‹ฌ์ด ๋“ค์—ˆ์ง€๋งŒ ํ•œ ๋‹จ๊ณ„์”ฉ ๋ฐŸ์•„๊ฐˆ์ˆ˜๋ก ํ„ฐ์ง€๋Š” ๋ถ„๋…ธ์— ๋จธ๋ฆฌ๊ฐ€ ํ•˜์–—๊ฒŒ ๋ณ€ํ•ด์„œ ๊ธฐ๋ก์„ ๋งŽ์ด ๋ชป ๋‚จ๊ธด ๊ฒƒ ๊ฐ™๋‹ค. ์šฐ์„  ์•ฑ์„ ์ œ์ž‘ํ•˜๊ณ  ์ถœ์‹œํ•˜๋ฉด์„œ ๋Š๋‚€ ๊ฒƒ๋“ค์„ ์ ์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.  ์•ฑ ์ œ์ž‘ํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐT.o.T์˜ ์‹œ์ž‘์€ ๋‹จ์ˆœํ•˜๊ฒŒ 'ํ•˜๋ฃจ์— 30๋ถ„์€ ์ง‘์ค‘ํ•ด์„œ ์ฑ…์„ ์ฝ์–ด์•ผ๊ฒ ๋‹ค' ๋ผ๋Š” ๋‹ค์ง์ด์—ˆ๋‹ค. ์Šคํ†ฑ์›Œ์น˜๋กœ ํ•˜๋ฃจ ๋™์•ˆํ•˜๋Š” ๋‹ค์–‘ํ•œ ํ™œ๋™์— ๋Œ€ํ•œ ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•ด ๋ณด์ž๋Š” ์ทจ์ง€์˜€๊ณ  ๊ทธ ์ฒซ ์Šคํ…์€ nextjs๋กœ ์ œ์ž‘ํ•œ ์›น ํ”Œ๋žซํผ์ด์—ˆ๋‹ค. ์–ด์ฐจํ”ผ ๋‚ด๊ฐ€ ์“ธ ๊ฑฐ๋‹ˆ๊น ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๋”ํ•ด์„œ ๋น ๋ฅด๊ฒŒ ์ œ์ž‘ํ–ˆ๊ณ  ๊ณ„์† ๋ธŒ๋ ˆ์ธ์Šคํ† ๋ฐ์„ ํ•˜๋ฉด์„œ ๋ชฉํ‘œ๋ฅผ ์žก์•„๊ฐ”๋‹ค. ์–ด๋Š ์ •๋„ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋”ํ•œ ๊ฒฐ๊ณผ๋ฌผ์ด ๋‚˜์™”๊ณ  ์ฒ˜์Œ..
๋งŒ๋“ค๊ณ  ์‹ถ์€ ์•ฑ์ด ์žˆ์–ด์„œ ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ๋ฅผ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ, ( -> ์กฐ๋งŒ๊ฐ„ ์•ฑ ๊ตฌํ˜„ ๊ณผ์ •์„ ์˜ฌ๋ฆด ์˜ˆ์ •์ž„๋ ) ๊ณ„์† ์•ˆ ๋˜๋Š”๊ฒƒ์ด๋‹ค!!!! ์ง€์ ธ์Šค.... ์™œ ์•ˆ๋˜๋Š” ๊ฒƒ์ธ์ง€ ์ดํ•ด๋ถˆ๊ฐ€. ํ•„์š”ํ•œ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ์„ค์น˜ํ•ด๋†จ๋Š”๋ฐ, ์ด๋•Œ ๋œฌ ์—๋Ÿฌ ์ฝ”๋“œ๋ฅผ ๊ตฌ๊ธ€๋งํ•ด๋ดค๋‹ค. ๋„˜๋‚˜ ๋‹ค์–‘ํ•œ ๊ณณ์—์„œ ๋ฐœ๊ฒฌ๋œ ์ด ์—๋Ÿฌ ์•Œ๊ณ ๋ณด๋‹ˆ -g ๋ฅผ ๋ถ™์—ฌ์„œ ์ „์—ญ์œผ๋กœ ์„ค์น˜๋ฅผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๊ธฐ๋Š” ์—๋Ÿฌ๋ผ๊ณ  ํ•œ๋‹ค. ์ด๋Ÿฐ ๋ช…๋ น์–ด๋ฅผ ์“ธ ๋•Œ๋Š” sudo๋ฅผ ์•ž์— ๋ถ™์—ฌ์ฃผ๋ฉด ๋œ๋‹ค. ์ด๋•Œ. ์ปด์˜ ๋น„๋ฒˆ์„ ์ ์œผ๋ผ๊ณ  ํ•œ๋‹ค. ์ ์–ด์ฃผ๋ฉด ํ•ด๊ฒฐ~~~~! ---------------------------------------------------------------------- ์œ„์— ๊ธ€์„ ์˜ฌ๋ฆฐ์ง€ 1-2์‹œ๊ฐ„ ๋งŒ์— ์ •์ •ํ•œ๋‹ค. global ๋กœ react-navtive ์„ค์น˜ ํ•˜์ง€ ๋งˆ์„ธ์šค..
[React Native] React Nativgation ์ ์šฉํ•˜๊ธฐ - 1 react native cli๋กœ ๋นŒ๋“œํ•ด์„œ expo๋กœ install์„ ํ•ด๋„ ๋˜์ง€๋งŒ npm์ด๋ผ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์œ„ํ•œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. npm install @react-navigation/native npm install react-native-screens react-native-sa.. mindevlog.tistory.com 1ํŽธ์— ์ด์–ด์„œ bottom tabs ๋ฉ”๋‰ด์™€ stack ๋ฉ”๋‰ด๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๋ฒ•์„ ์„ค๋ช…ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋‘๊ฐ€์ง€ ๋ฉ”๋‰ด๊ฐ€ ๋”ฐ๋กœ๋”ฐ๋กœ ์‚ฌ์šฉ๋  ์ผ์€ ์—†๊ฒ ์ง€์š”? ํด๋”๊ตฌ์กฐ Nav -Tab -Stack Screen -Movie -Tv -Search NavigationContainer ์— ๋‘ ๋ฉ”๋‰ด๋ฅผ ๋ชจ๋‘..
react native cli๋กœ ๋นŒ๋“œํ•ด์„œ expo๋กœ install์„ ํ•ด๋„ ๋˜์ง€๋งŒ npm์ด๋ผ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์œ„ํ•œ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. npm install @react-navigation/native npm install react-native-screens react-native-safe-area-context ๊ณต์‹ ๋ฌธ์„œ (https://reactnavigation.org/docs/getting-started/) ๋ฅผ ๋ณด๋ฉด ์ž˜ ์„ค๋ช…๋˜์–ด์žˆ๋‹ค! Mac์—์„œ IOS ๋นŒ๋“œ๋ฅผ ์œ„ํ•œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์„ค์น˜ํ•ด์•ผํ•˜๋Š”๋ฐ ๋‚˜๋Š” ํ•ด๋‹น์‚ฌํ•ญ์ด ์—†์–ด์„œ ์Šคํ‚ต! 1. NavigationContainer ์ƒ์œ„ navigator๋ฅผ ๊ฐ์‹ธ๋Š” ์ ์–ด์ฃผ๋Š” container๋ฅผ ์จ์ค˜์•ผํ•œ๋‹ค. navigator์— ๋”ํ•ด์„œ ์“ธ ์ˆ˜ ์žˆ๋Š” props๋“ค์ด ์žˆ๋Š”๋ฐ ๋‚˜..
AppLoading ์–ธ์ œ ์“ฐ๋Š๋ƒ? ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ์„ ์‹คํ–‰ํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์‹œ์ž‘ํ•˜๋Š”๋ฐ, ์ด๋•Œ ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆด์ˆ˜๋„ ์žˆ๊ณ  ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์•ˆ ์‚ฌ์šฉ์ž๊ฐ€ ๊ทธ ๊ณผ์ •์„ ๋ณผ ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ๋ถ€๋ถ„์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์žˆ๋Š”๊ฒŒ AppLoading์ด๋‹ค ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ ์ธ ๋ถ€๋ถ„์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š๋ƒ ๋กœ๋”ฉ์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์•„์ด์ฝ˜์ด๋ผ๋˜๊ฐ€, ์ด๋ฏธ์ง€๋ผ๋˜๊ฐ€ ๋Œ€์ฒด๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. AppLoading Props ๋‹ค์–‘ํ•œ Prop์ด ์žˆ๋Š”๋ฐ, ์ด๋ฅผ ์ด์šฉํ•ด์„œ apiํ˜ธ์ถœ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ€๋ถ„์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. startAsync (function) : Promise๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๋Š”๋ฐ AppLoading์ด ์‹œ์ž‘๋  ๋•Œ ์‹คํ–‰๋œ๋‹ค. onError (function) : ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ• ..
๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ๋ž€? ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ(React Native)๋Š” iOS์™€ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ตฌํ˜„๋œ ๊ธฐ์กด์˜ ๋ชจ๋ฐ”์ผ ์•ฑ๋“ค์€ ์›น๋ทฐ๋ฅผ ์ด์šฉํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐฉ์‹์ด์˜€์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ฐœ๋ฐœํ•˜์ง€๋งŒ, ํ™”๋ฉด ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋„ค์ดํ‹ฐ๋ธŒ ์œ„์ ฏ์œผ๋กœ ์ปดํŒŒ์ผํ•˜์—ฌ ๋นŒ๋“œ๋ฉ๋‹ˆ๋‹ค. ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ๋Š” ๋„ค์ดํ‹ฐ๋ธŒ UI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น ๋ฅธ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœํ™˜๊ฒฝ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์„ ๋งŒ๋“ค๊ณ  ์žˆ๋‹ค๋ฉด ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค๋ฅผ ๋‹ค์šด ๋ฐ›์•„์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ปดํ“จํ„ฐ์— java๋ฅผ ๋‹ค์šด๋ฐ›์•„์•ผํ•ฉ๋‹ˆ๋‹ค. ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋„ ๋‹ค์šด๋ฐ›์•„์•ผํ•˜๊ณ ์š”. ์ •๋ง ๋ฐ›์•„์•ผํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. IOS๋„ Xcode๋ฅผ ๋‹ค์šด๋ฐ›์•„์•ผํ•˜๊ณ ์š”. ํ•˜์ง€๋งŒ ์ €๋Š” ๋‹ค ์ƒ๋žต์„ ํ•˜๊ณ  ํ”„๋กœํ† ํƒ€์ดํ•‘๊ณผ ํ…Œ์ŠคํŠธ๋ฅผ ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ฐ„๋‹จํ•œ ํˆด์„ ์ด์šฉํ•  ๊ฒƒ..
๋ฐ(Ming) ๐Ÿฐ
'๋ฆฌ์•กํŠธ๋„ค์ดํ‹ฐ๋ธŒ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก