๊ฐœ๋ฐœ/React-Native

๋‚ด๊ฐ€ ์“ฐ๊ณ  ์‹ถ์€ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ๋งˆ์Œ์— ์‹œ์ž‘ํ•œ ๊ฑฐ์˜€๋Š”๋ฐ ๋„ˆ๋ฌด ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.   1. ํ•„์š”ํ•œ ๊ฒƒ๋“ค - Apple Developer ๋ฉค๋ฒ„์‹ญ ๊ฐ€์ž… - Expo ๊ณ„์ • ๋ฐ ํ”„๋กœ์ ํŠธ   2. Expo๋กœ ๋นŒ๋“œํ•˜๊ธฐApple developer์— identifiers๋ฅผ ๋“ฑ๋กํ•˜๊ณ  App Store Connect์—๋„ ์•ฑ ์ •๋ณด๋ฅผ ๋“ฑ๋กํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” bundler ID ๊ฐ€ ํ•„์šฏ๋‹ค ๋ฒˆ๋“คID๋ฅผ ์–ด๋””์„œ ์ฐพ๋Š”๊ฑด์ง€ ๋ชฐ๋ผ์„œ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ๊ทธ๋ƒฅ ๋ฐ”๋กœ EAS ๋กœ ๋ฐฐํฌ๋ฅผ ์‹œ๋„ํ•˜๋‹ˆ ๋ฐฐํฌ๋ฅผ ํ•˜๋ฉด์„œ ์ƒ์„ฑํ•  ์ˆ˜๊ฐ€ ์žˆ์—ˆ๋‹ค.  EAS๋ผ๋Š” ํด๋ผ์šฐ๋“œ ๋นŒ๋“œ ์„œ๋น„์Šค์ธ๋ฐ, Expo Application Service์˜ ์ค€๋ง์ž…๋‹ˆ๋‹ค. EAS build๋Š” ๊ธฐ๊ธฐ์— ์„ค์น˜ํ•˜๋Š” ์•ฑ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค๋กœ ์ง์ ‘ ๋ณต์žกํ•œ ์ž‘์—…์„ ๊ฑฐ์น˜์ง€ ์•Š์•„๋„ ์•ฑ..
์›น์œผ๋กœ ์“ฐ๊ณ  ์žˆ๋˜ ToT๋ฅผ app์œผ๋กœ ์˜ฎ๊ธฐ๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๋ฉด์„œ UI๋ถ€๋ถ„๋„ ๋งŽ์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค. ๊ทธ ๊ณผ์ •์—์„œ home์— weekly ์บ˜๋ฆฐ๋”๋ฅผ ๋„ฃ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ React-Native๋Š” ์ฒ˜์Œ์ด๊ธฐ๋„ํ•˜๊ณ  ๊ฐ์ด ์ž˜ ์•ˆ ์žกํ˜€์„œ ์บ˜๋ฆฐ๋” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ calendar-strip  ๊ตฌํ˜„์ด ํ•„์š”ํ•œ ๊ธฐ๋Šฅweekly๋กœ ๋ณด์—ฌ์•ผํ•จ์š”์ผ๋ณ„๋กœ ํด๋ฆญ์ด ๊ฐ€๋Šฅํ•ด์•ผํ•จ์š”์ผ์ด ํด๋ฆญ๋˜๋ฉด ํ•ด๋‹น ์š”์ผ์˜ ๋ฐ์ดํ„ฐ๋“ค์ด ๋ณด์—ฌ์•ผํ•จํ™”์‚ดํ‘œ๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ฃผ๋ณ„๋กœ ์ด๋™์ด ๋˜์–ด์•ผํ•จ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ์š”์ผ์€ ์š”์ผ์— ํ‘œ์‹œ๊ฐ€ ๋˜์–ด์žˆ์–ด์•ผํ•จ   ์‚ฌ์šฉํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‚ด๊ฐ€ ํ•„์š”ํ–ˆ๋˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ์†์‰ฝ๊ฒŒ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜๊ณ  ๋‹ค์–‘ํ•œ demo ๋ฒ„์ ผ์ด ๋งŒ๋“ค์–ด์ ธ์žˆ์–ด์„œ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์ด ์ƒ์„ธํžˆ ์„ค๋ช…๋˜์–ด์žˆ๋‹ต๋‹ˆ๋‹ค  https://www.npmjs.com/package/react-native-calendar..
[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) ๐Ÿฐ
'๊ฐœ๋ฐœ/React-Native' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก