user-img
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก  49
๋งŒ์•ฝ์— trieds to ~~ ์ค‘๋ณต๋๋‹ค๊ณ  ๋œจ๋ฉด
npm udate ํ•˜๊ณ  ๊ป๋‹ค ํ‚ค๊ธฐ
2023.05.23
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
Header Button ๋‹ฌ๊ธฐ
Header buttons | React Navigation (1) Screen Component์˜ ์˜ต์…˜ ์ด์šฉํ•ด์„œ ํ—ค๋” ๋ฒ„ํŠผ ๋‹ฌ๊ธฐ ์Šคํฌ๋ฆฐ ์ปดํฌ๋„ŒํŠธ์˜ Options์—์„œ headerRight, headerLeft key ๊ฐ’์—๋‹ค๊ฐ€ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋ฅผ value๋กœ ๊ธฐ์ž…ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ•ด๋‹น ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์˜ ๋กœ์ง ๋Œ€๋กœ ์›€์ง์ธ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ•ด๋‹น ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํƒœ๊ทธ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ๋งŒ๋“ค์—ˆ๋‹ค. ๋ฅผ ๋”ฐ๋กœ ์“ฐ์ง€ ์•Š์•„๋„ ๋Œ์•„๊ฐ€๋Š” ๊ฒƒ ๋ณด๋‹ˆ, ์ €๋ฒˆ ์„ค๋ช…์—์„œ ์ฒ˜๋Ÿผ Screen์˜ Header ์ „์ฒด๋ฅผ ๊ฐ์‹ธ๋Š” View ํƒœ๊ทธ๊ฐ€ ๋‚ด์žฅ๋˜์–ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. function StackScreen() { return ( , headerRight: () => ( alert('This is a button!')} title="Info" color="#f..
2023.05.19
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
React Navigation Docs ์ •๋ฆฌ(Getting Started ~ Header bar ์„ค์ •)
1. React Navigation ์„ค์น˜ Getting started | React Navigation React Navigation reactnavigation.org 2. React Navigation์— ๋Œ€ํ•ด, Hello React Navigation | React Navigation React Navigation reactnavigation.org ์šฐ๋ฆฌ๋Š” ๋จผ์ € ๊ฐ€์žฅ ์‰ฝ๊ณ  ๊ธฐ๋ณธ์ ์ธ Navigator์ธ Stack Navigator๋ฅผ ํ†ตํ•ด ํ™”๋ฉด ์ด๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์Šต๋“ํ•˜๊ณ , ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๋„ค๋น„๊ฒŒ์ดํ„ฐ๋ฅผ ์•Œ์•„๋ณด๊ฒ ๋‹ค. ๋„ค๋น„๊ฒŒ์ดํ„ฐ๋Š” RN ๋‚ด์žฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋ผ์„œ ๋”ฐ๋กœ ์„ค์น˜ํ•ด์„œ ์จ์•ผ ํ•œ๋‹ค. ๊ฐ Navigator ๋งˆ๋‹ค ๊ณ ์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋‹ค ๋”ฐ๋กœ ์กด์žฌํ•˜๋‹ˆ ์ฐธ๊ณ  ๋ฐ”๋ž€๋‹ค. (1) Browser์™€ StackNavigator์˜..
2023.05.16
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
VS Code์—์„œ React-Native ์ด์šฉ ์‹œ ์ž๋™ import๊ฐ€ react-native/types๋กœ๋งŒ ๋˜๋Š” ๊ฒฝ์šฐ ํ•ด๊ฒฐ ๋ฒ•
1
์‚ฌ์ง„์€ react-native-web์œผ๋กœ๋งŒ ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ฐ€์ ธ์™”๋‹ค. (๋‚ด๊ฐ€ ํ•ด๋‹น ์˜ค๋ฅ˜๊ฐ€ ๋‚  ๋•Œ ์บก์ณ๋ฅผ ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.) ํ•˜์ง€๋งŒ ์œ„์˜ ๊ฒฝ์šฐ ์ฒ˜๋Ÿผ ์ปดํฌ๋„ŒํŠธ์— ๋งž๋Š” ์ž๋™ import๋ฅผ ํ•  ๋•Œ, 'react-native'๊ฐ€ ๋œจ์ง€ ์•Š๊ณ , ๋‹ค๋ฅธ ๊ฒฝ์šฐ๊ฐ€ ๋œฌ๋‹ค๋ฉด ๋ฐ‘์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋‹ค. *ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ–์—์„œ ๋ฐ‘์˜ ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์— ์ž…๋ ฅํ•˜์—ฌ ์‹คํ–‰ํ•œ๋‹ค. ์œ„์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ผ์–ด๋‚˜๋Š” ์ด์œ ๋Š”, node-modules ์•ˆ์˜ ๋ชจ๋“ˆ๋“ค ๊ฐ„์˜ ์ถฉ๋Œ๋กœ ์ธํ•˜์—ฌ ์ผ์–ด๋‚œ๋‹ค๊ณ  ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ @types/react-native๋ฅผ ๋‹ค์‹œ ๊น”์•„์ฃผ๋ฉด ๋œ๋‹ค. ๋‚˜๋Š” ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๊ณ„์† ๊น”์•„๋ด๋„ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•„์„œ ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ถ€๋ชจ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋„˜์–ด๊ฐ€์„œ ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ ํ–ˆ๋”๋‹ˆ ๋˜์—ˆ๋‹ค. ์ด ๋ฌธ์ œ๋กœ ์ธํ•ด 1์‹œ๊ฐ„ ์ •๋„ ๋””๊น… ํ–ˆ๋‹ค..
2023.05.10
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
ICon, Badge, Button, Spacer,Divider ๋งŒ๋“ค๊ธฐ
1. Icon ๋ณ„ ๊ฑฐ ์—†๋‹ค. expo Vector Icon์— ํ•„์š”ํ•œ 3๊ฐ€์ง€ ์š”์†Œ name, size, color๋ฅผ ์ธ์ˆ˜๋กœ ๋ฐ›์•„์„œ icon์„ ์ƒ์„ฑํ•˜๋ฉด ๋์ด๋‹ค. 2. Badge children์€ ์•ž์—์„œ๋„ ์„ค๋ช…ํ–ˆ๋“ฏ์ด ๋ถ€๋ชจ์š”์†Œ์˜ ํƒœ๊ทธ ์‚ฌ์ด์— ๋“ค์–ด๊ฐ€๋Š” ํ…์ŠคํŠธ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๋Š” ํ…์ŠคํŠธ ์šฐ์ธก ์ƒ๋‹จ์— ์œ„์™€ ๊ฐ™์ด ์•Œ๋ฆผ ๋ฑƒ์ง€๋ฅผ ๋ถ™์ด๋Š” ํƒœ๊ทธ์ด๋‹ค. ํ•˜์ง€๋งŒ ์œ„์™€ ๊ฐ™์ด ์•Œ๋ฆผ ํšŸ์ˆ˜๋ฅผ ์นด์šดํŠธ ํ•˜์ง€ ์•Š๊ณ  new๋ฅผ ์˜๋ฏธํ•˜๋Š” N์œผ๋กœ ๋Œ€์ฒดํ•œ๋‹ค. ์œ„ ์ปดํฌ๋„ŒํŠธ๋Š” ๊ฒ‰์˜ View์™€ ์†์˜ View ์ด์ค‘ ๊ตฌ์กฐ๋กœ ๋˜์–ด ์žˆ๋Š”๋ฐ, ๊ฒ‰์˜ View์—๋Š” ์ธ์ˆ˜๋กœ ๋ฐ›์€ children์„ ์“ฐ๊ณ  ์†์˜ View์—๋Š” ๋ฑƒ์ง€ ๋‚ด์šฉ์„ ์ผ๋‹ค. ์ด๋ ‡๊ฒŒ View๋ฅผ ์ด์ค‘๊ตฌ์กฐ๋กœ ๊ฐ€๋ฅธ ์ด์œ ๋Š” ๋ฑƒ์ง€๋ฅผ ์šฐ์ธก ์ƒ๋‹จ์— ์œ„์น˜์‹œํ‚ค๊ธฐ ์œ„ํ•จ์ด๋‹ค. ๋ฑƒ์ง€์˜ style์—์„œ position: ab..
2023.05.05
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
Text , Image ์ปดํฌ๋„ŒํŠธ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
1. Text ์ปดํฌ๋„ŒํŠธ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• (1) ์ฝ”๋“œ๋ฆฌ๋ทฐ ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๋Š” color, fontsize์„ ์ปค์Šคํ„ฐ ๋งˆ์ด์ง•ํ•˜๋Š” Text ์ปดํฌ๋„ŒํŠธ์ด๋‹ค. ๋ฐ‘์—๋Š” Typography์˜ ํƒ€์ž…์„ ๊ฒ€์‚ฌํ•˜๋Š” PropTypes๋ผ๋Š” ์†์„ฑ์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ํ•ด๋‹น PropTypes ์†์„ฑ์„ ์“ธ๋ ค๋ฉด ์ด๊ฑธ ์„ค์น˜ ํ•ด์•ผํ•œ๋‹ค. propTypes๋ผ๋Š” ํƒ€์ž… ๊ฒ€์‚ฌ๊ธฐ์˜ ๋‚ด๋ถ€๋Š” {Property: PropTypes.์›ํ•˜๋Š” ํƒ€์ž… }ํ˜•ํƒœ๋กœ ์“ฐ๊ณ  ํ•ด๋‹น ์†์„ฑ์˜ ์ธ์ˆ˜๋กœ ์›ํ•˜๋Š” ํƒ€์ž…์ด ๋“ค์–ด์˜ค์ง€ ์•Š์•˜์„ ์‹œ Warn ๊ฒฝ๊ณ ๋ฌธ์„ ํ™”๋ฉด์— ๋„์šด๋‹ค. https://ko.legacy.reactjs.org/docs/typechecking-with-proptypes.html ์œ„ ๋งํฌ๋Š” propTypes์˜ ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด ์ ํ˜€ ์žˆ๋‹ค. ํƒ€์ž…์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋‹ค์–‘ํ•˜๊ฒŒ ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์œ„์˜ ์˜ˆ์‹œ..
2023.04.28
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
์ฝ”๋“œ๋ฅผ ์ปดํฌ๋„ŒํŠธํ™” ์‹œ์ผœ์„œ ์œ ์ง€, ๋ณด์ˆ˜์— ์šฉ์ดํ•˜๊ณ , ๊ฐ€๋…์„ฑ๋„ ์ข‹์€ ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ
1. ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์ปดํฌ๋„ŒํŠธ ํ™” ํ•ด๋ฒ„๋ฆฌ๋Š” ์ด์œ  **์ปดํฌ๋„ŒํŠธ ํ™” ๋ž€? ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ๋ฅผ ํ•˜๋‚˜์˜ ์ปดํฌ๋„ŒํŠธ(ํ•จ์ˆ˜)๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ปดํฌ๋„ŒํŠธ ํ™” ์‹œํ‚ค๋Š” ์ด์œ ๋Š”, ์ฒซ ๋ฒˆ์งธ ์ „์ฒด ์ฝ”๋“œ์˜ ์ฝ”๋“œ์–‘์ด ์ค„์–ด๋“ ๋‹ค. ์—ฌ๋Ÿฌ ์ค„ ์งœ๋ฆฌ ์ฝ”๋“œ๋„ ํ•จ์ˆ˜ ํ•˜๋‚˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๊ทธ ์•ˆ์— ์ธ์ˆ˜๋ฅผ ์ง‘์–ด๋„ฃ๋Š” ๋ฐฉ์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์ฝ”๋“œ ์–‘์ด ํ›จ์”ฌ ์ค„์–ด ๊ฐ€๋…์„ฑ์ด ์ข‹์•„์ง„๋‹ค. ํ•ด๋‹น return ๋‚ด๋ถ€์˜ ํ•„์š”ํ•œ ๋ชจ๋“  ์ฝ”๋“œ๋“ค์„ ์ปดํฌ๋„ŒํŠธ ํ˜ธ์ถœ์„ ํ†ตํ•ด ํ‘œํ˜„ํ–ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ ํ˜ธ์ถœ 6๋ฒˆ์œผ๋กœ return ๋ฌธ ๋‚ด๋ถ€๋ฅผ ํ•„์š”ํ•œ ๊ฒƒ์„ ์ „๋ถ€ ํ‘œํ˜„ํ–ˆ๋Š”๋ฐ, ๋งŒ์•ฝ ์ฝ”๋“œ๋กœ ์œ„ ์‚ฌํ•ญ์„ ์ „๋ถ€ ๋‹ค ํ‘œํ˜„ํ–ˆ๋‹ค๋ฉด, ์Šคํฌ๋กค๋ฐ”๋ฅผ ํ•œ์ฐธ ๋‚ด๋ ธ์–ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค. ๋‘ ๋ฒˆ์งธ, ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์šฉ์ดํ•˜๋‹ค. A๋ž€ ์ฝ”๋“œ๊ฐ€ 5๋ฒˆ ์ค‘๋ณต๋œ๋‹ค๊ณ  ํ•˜์ž. ๋งŒ์•ฝ 2๋ฒˆ์งธ 4๋ฒˆ์งธ A์ฝ”๋“œ์—์„œ ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์šฐ๋ฆฌ๋Š” ๊ทธ ์ฝ”๋“œ๋“ค์„ ์ฐพ์•„์„œ ์ผ..
2023.04.28
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
React-Navigator๋ฅผ ์ด์šฉํ•œ ํ™”๋ฉด ์ด๋™ (2)
์ด๋ฒˆ์—๋Š” TabBarNavigation์„ ์จ๋ณด๊ณ  ํ•ด๋‹น TabBarNavigation์„ ๋‹ค์‹œ Stack Navigator์•ˆ์— ๋„ฃ์–ด์„œ ํ‘œํ˜„ ํ•ด๋ณด์•˜๋‹ค. TabBar ๊ตฌ์กฐ๋„ ๋‹ค๋ฅผ ๊ฒƒ ์—†๋‹ค. ๊ธฐ๋ณธ ํ™”๋ฉด์€ ๋งจ ์™ผ์ชฝ ํƒญ์ด ๋‚˜์˜ค๊ณ  ๋‚˜๋จธ์ง€ ํƒญ๋“ค์„ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค, focus๊ฐ€ ์˜ฎ๊ฒจ์ ธ ํ•ด๋‹น ํ™”๋ฉด์ด render ๋œ๋‹ค. ๋‹ค๋ฅธ ํ™”๋ฉด์œผ๋กœ ํฌ์ปค์Šค๋ฅผ ์˜ฎ๊ฒจ๋„ ์ด์ „ ํ™”๋ฉด๋“ค์ด unmount๋˜์–ด์„œ ๋žœ๋” ๋˜์—ˆ๋˜ ๊ฒŒ ์‚ฌ๋ผ์ง€๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ™”๋ฉด๋“ค์€ ์ฒ˜์Œ render๋œ ํ›„ ๊ทธ๋Œ€๋กœ ์œ ์ง€๋œ๋‹ค. 1. ๋กœ์ง ๊ตฌ์กฐ๋„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๊ฐ Navigator๊ฐ„์˜ ๊ณ„์ธต์ด ๋ฐ‘๊ณผ ๊ฐ™์ด ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ์œ„์˜ ์„ค๋ช…์ฒ˜๋Ÿผ ์šฐ๋ฆฌ๋Š” Level1 Stack์˜ ์ฒซ๋ฒˆ์งธ ์ธต์ธ BoomTab์—์„œ Level3 Stack์˜ ScreenA๋ฅผ ๋ณด๋‹ค๊ฐ€, ScreenA๊ฐ€ B๋ฅผ ํ˜ธ์ถœํ•จ์— ๋”ฐ๋ผ ..
2023.04.27
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
React- Navigation์„ ์ด์šฉํ•œ ์ด๋™
1. NavigationContainer์™€ Navigator , Screen์— ๊ด€ํ•˜์—ฌ https://reactnavigation.org/docs/getting-started Screen์€ ํ•˜๋‚˜์˜ View ์ปดํฌ๋„ŒํŠธ๋กœ์„œ ์šฐ๋ฆฌ๊ฐ€ ํ™”๋ฉด ์ด๋™ ์‹œ ์“ธ ํ™”๋ฉด๋“ค์ด๋‹ค. Screen ํ•˜๋‚˜ ํ•˜๋‚˜๊ฐ€ ๋ชฉ์ ์ง€ ์ด๋‹ค. Navigator๋Š” Screen์˜ ์ง‘ํ•ฉ์ด๋‹ค. Navigator ์†์— Navigate๋ž€ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด๋ฅผ ์ด์šฉํ•˜๋ฉด Navigator ๋‚ด๋ถ€์— ์ •์˜๋œ Screen๋“ค ์‚ฌ์ด์˜ ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋‹ค. NavigationContainer๋Š” Navigator Tree๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , Navigatior์˜ ์ƒํƒœ๋“ค์„ ์•Œ๋ ค์ฃผ๋Š” ์ปดํฌ๋„ŒํŠธ์ด๋‹ค. ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋ชจ๋“  Navigator ๊ตฌ์กฐ๋ฅผ ๊ฐ์‹ธ๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ฃผ๋กœ ์ถœ์ž… ํŒŒ์ผ (entr..
2023.04.27
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
React - Navigation ์šฉ์–ด ์ •๋ฆฌ
์•„์ง ์–ด๋–ค ๋‚ด์šฉ์ด ์–ด๋–ป๊ฒŒ ์ž‘์šฉํ•˜๋Š”์ง€ ์•Œ์ง€๋„ ๋ชปํ•˜๋Š” ์ƒํƒœ์—์„œ ๊ธ€ ๊ณต๋ถ€ํ•˜๋“ฏ ์™ธ์šฐ๋Š” ๊ฒƒ์€ ์˜๋ฏธ๊ฐ€ ์—†๋‹ค๊ณ  ๋ณธ๋‹ค. ๊ทธ๋ž˜์„œ ํ˜„์žฌ๊นŒ์ง€ ์ดํ•ดํ•œ ๋‚ด์šฉ๋งŒ ์ •๋ฆฌํ•˜๊ณ  ๋‚˜๋จธ์ง€ ๊ฐœ๋…๋“ค์€ ์ง์ ‘ ํ•ด๋ณด๋ฉด์„œ ๊ฐ์„ ์žก๊ณ  ์ •๋ฆฌํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค. 1. ๋„ค๋น„๊ฒŒ์ดํ„ฐ, screen ๊ตฌ์กฐ๋„ 2. React ๋‚ด์˜ ์ƒ๋ช…์ฃผ๊ธฐ (๊ฐ„๋žตํ•˜๊ฒŒ) ์ด๊ฒƒ ์ด์™ธ์˜ ๋” ๋งŽ์€ ๊ณผ์ •๋“ค์ด ์žˆ์ง€๋งŒ, ์ผ๋‹จ ๊ฐ•์˜์—์„œ ๋ฐฐ์šด ์ฃผ์š” ๋‚ด์šฉ๋“ค๋กœ๋งŒ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ์ •๋ฆฌ ํ•˜๊ฒ ๋‹ค. ์ด์™ธ์˜ ๊ณผ์ •๋“ค์„ ๋ณด๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ๋“ค์€ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜๊ธฐ ๋ฐ”๋ž€๋‹ค. (1) Constructor ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ์ž ๋งค์†Œ๋“œ, ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ๊ฐ€์žฅ ๋จผ์ € ์‹คํ–‰๋˜๋Š” ๋งค์†Œ๋“œ ์ด๋‹ค. (2) render ์ ํžŒ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ํ™”๋ฉด์— ๊ทธ๋ฆฌ๋Š” ๊ฒƒ์„ render๋ผ๊ณ  ํ•œ๋‹ค. (3) componentDidMount render๋ฅผ ๋๋‚ธ ํ›„ (์ฆ‰ ํ™”..
2023.04.20
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
์ธ๋ผ์ธ ์Šคํƒ€์ผ CSS๋ฅผ ์Šคํƒ€์ผ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ณ€๊ฒฝ
์›๋ž˜ ํƒœ๊ทธ ์ด๋ฆ„์„ ์“ฐ๋Š” ๊ณณ์— ์Šคํƒ€์ผ ์ปดํฌ๋„ŒํŠธ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ”์น˜๊ธฐ. ๊ทธ๋ฆฌ๊ณ  styled. ์›๋ž˜ํƒœ๊ทธ ์ด๋ฆ„์„ ๋„ฃ์–ด์„œ ์ธ์ˆ˜๋ฅผ ๋ฐ›๋Š” ํƒœ๊ทธ - ์Šคํƒ€์ผ์ปดํฌ๋„ŒํŠธ - ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์›๋ž˜ ํ•ด์•ผํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์—ฐ๊ฒฐ๋จ.
2023.04.19
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
๊ฐค๋Ÿฌ๋ฆฌ ์•ฑ ํด๋ก ์ฝ”๋”ฉ - ๋””๋ฐ”์ด์Šค๋งˆ๋‹ค ์ œ๊ฐ๊ฐ์ธ ๊ฐ€๋กœ ๊ธธ์ด ๋Œ€์‘
ํ•ด๋‹น ์•ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ์žฅ์น˜๋งˆ๋‹ค ๊ฐ€๋กœ๊ธธ์ด๊ฐ€ ์ฒœ์ฐจ๋งŒ๋ณ„์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ Flatlist์˜ columnNum์„ 3์œผ๋กœ๋งŒ ๊ณ ์ •ํ•ด๋†“์œผ๋ฉด, ์–ด๋–ค ํ™”๋ฉด์—์„œ๋Š” ํ–‰ ๋‹น ์ฐจ์ง€ํ•˜๋Š” ์‚ฌ์ง„์˜ ํฌ๊ธฐ๊ฐ€ ํด ๊ฒƒ์ด๊ณ , ์–ด๋–ค ํ™”๋ฉด์—์„œ๋Š” ์ž‘์„ ๊ฒƒ์ด๋‹ค. ์šฐ๋ฆฌ๋Š” ๋””๋ฐ”์ด์Šค์˜ ํ™”๋ฉด ํฌ๊ธฐ๋งˆ๋‹ค ํ•œ ํ–‰์— ํ‘œ์‹œ๋˜๋Š” ์‚ฌ์ง„ ์ˆ˜๋ฅผ ๋‹ค๋ฅด๊ฒŒ ํ•ด์„œ, ์‚ฌ์ง„ ํ•˜๋‚˜ ํ•˜๋‚˜์˜ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ปค์ง€๊ฑฐ๋‚˜ ์ž‘์•„์ง€์ง€ ์•Š๋„๋ก ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. 1.๋กœ์ง 2. ์ฝ”๋“œ๋ฆฌ๋ทฐ 3. ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ ๋œ ๊ฒƒ (1) Math.floor๋Š” ์ธ์ˆ˜์˜ ๋‚ด๋ฆผ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. (2) Flatlist์˜ onLayout FlatList์˜ ๋„ˆ๋น„๋ฅผ ์•Œ๊ณ  ์‹ถ์„ ๋•Œ onLayOut ์†์„ฑ์—์„œ ํ•ด๋‹น ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ๋‹ค. e.nativeEvent.layout.width๋ฅผ ์ฐ์–ด๋ณด๋ฉด flatlist์˜ ๋„ˆ๋น„๊ฐ€ ๋‚˜์˜จ๋‹ค. (3) ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ์— ๋Œ€ํ•˜์—ฌ..
2023.04.19
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
๊ฐค๋Ÿฌ๋ฆฌ์— ์ €์žฅ๋œ ์ด๋ฏธ์ง€์™€ ์•จ๋ฒ”์„ DB์— ๋„ฃ๊ณ  ๊ด€๋ฆฌ
์ง€๊ธˆ๊นŒ์ง€๋Š” ์ด๋ฏธ์ง€ ๋ฆฌ์ŠคํŠธ์™€ ์•จ๋ฒ” ๋ฆฌ์ŠคํŠธ๋ฅผ ์ƒํƒœ๋ณ€์ˆ˜์—๋งŒ ์ €์žฅํ•˜๊ณ  ์‚ฌ์šฉํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์•ฑ์„ ๊ป๋‹ค ํ‚ค๋ฉด ์ƒํƒœ ๋ณ€์ˆ˜์— ์ €์žฅํ•ด๋†“์€ ๋ฆฌ์ŠคํŠธ๋“ค์ด ๋‹ค ๋‚ ์•„๊ฐ”๋‹ค. ์ƒํƒœ๋ณ€์ˆ˜์— ๋„ฃ์€ ๊ฐ’์€ ์•ฑ์„ ์ข…๋ฃŒํ•  ์‹œ ์ „๋ถ€ ์‚ญ์ œ๋˜์–ด ์ดˆ๊ธฐํ™” ๋จ์œผ๋กœ, ์•ฑ์„ ์ข…๋ฃŒํ•ด๋„ ์‚ญ์ œ๋˜์ง€ ์•Š๋Š” DB์— ํ•ด๋‹น ๊ฐ’๋“ค์„ ๋„ฃ์–ด๋†“๊ณ , ์•ฑ์„ ์‹œ์ž‘ํ•  ๋•Œ ์ „์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ๊ฐ’๋“ค์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. 1. ๋กœ์ง 2. ์ฝ”๋“œ๋ฆฌ๋ทฐ DB์—์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๋Š”๋ฐ ํ•„์š”ํ•œ ํ‚ค ๊ฐ’์€ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค. ๋ฌผ๋ก  "images", "albums"๋กœ ์“ธ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์˜คํƒ€ ์ณ์„œ setItem์„ ๋‹ค๋ฅธ ๊ฑธ๋กœ ํ•ด๋ฒ„๋ฆฌ๋Š” ์ˆœ๊ฐ„ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์—‰๋šฑํ•œ๋ฐ ๋“ค์–ด๊ฐ€์„œ ๋ชป ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. ํ•ด๋‹น ๊ฒฝ์šฐ์ฒ˜๋Ÿผ ๊ฐ์ฒด๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉด ํ˜ธ์ถœ ์‹œ ์  ํ‘œ๊ธฐ๋ฒ•์ด ์›ํ•˜๋Š” Key ๊ฐ’์„ ์ž๋™์™„์„ฑ์œผ๋กœ ์จ์ฃผ๊ธฐ ๋•Œ๋ฌธ์—, ์˜คํƒ€ ๋‚ด๋Š”..
2023.04.18
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
์ด๋ฏธ์ง€ ํฌ๊ฒŒ ๋ณด๋Š” ๋ชจ๋‹ฌ ์ขŒ์šฐ๋กœ
1. ๋กœ์ง 2. ์ฝ”๋“œ๋ฆฌ๋ทฐ (1) ํ™”์‚ดํ‘œ์˜ Onpress ๊ธฐ๋Šฅ ๋‚ด๋ถ€ ๊ตฌํ˜„ filteredImage ์„ ์–ธ ์ดํ›„์— ์ ์–ด์ค˜์•ผ ํ•œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ปดํŒŒ์ผ์€ ์œ„์—์„œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ฝ๊ธฐ ๋•Œ๋ฌธ์—, ์„ ์–ธ๋ถ€ ๋ณด๋‹ค ํ˜ธ์ถœ์„ ๋จผ์ € ํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ์ผ์–ด๋‚œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ๋‚ด์šฉ์„ ๋ณด๋ฉด previousImageIdx๋‚˜ nextImageIdx๊ฐ€ ๊ฐ๊ฐ 0๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๋ฐฐ์—ด ๋ ๊ฐ’๋ณด๋‹ค ์ปค์ง€๋Š” ๊ฒฝ์šฐ, -1์ด ๋˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ๊ธฐ๋Šฅ์—์„œ ๋” ์ด์ƒ ์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ ๋ฐ˜ํ™˜ ํ•˜๋ผ๋Š” ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ์ ์–ด์ฃผ์—ˆ๋‹ค. ๋ถ„๋ช… ๋ฐ‘์—์„œ๋„ ํ•  ๊ฒƒ์ด์ง€๋งŒ, ๋ฐฐ์—ด์˜ ์–‘ ๋์œผ๋กœ ๊ฐ”์„ ๋•Œ, ํ™”์‚ดํ‘œ๋ฅผ ์ง€์›Œ๋ฒ„๋ฆฌ๋Š” ๋กœ์ง์„ ๋„ฃ์–ด์คฌ๋Š”๋ฐ๋„, ๋ฐฑ์—”๋“œ์  ๋ถ€๋ถ„์—์„œ ํ•œ๋ฒˆ ๋” ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์—ˆ๋‹ค. ์ด๋Š” 2์ค‘ ๋ณด์•ˆ๊ณผ ๊ฐ™์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ์˜ˆ์™ธ๋ฅผ ์›์ฒœ ์ฐจ๋‹จํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. nextImageIdx์—์„œ ..
2023.04.18
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
ํฐ ์ด๋ฏธ์ง€ ๋ณด์ด๊ฒŒ ํ•˜๋Š” Modal(ํŒ์—…์ฐฝ) ๋งŒ๋“ค๊ธฐ
1. ๋กœ์ง 2. ์ฝ”๋“œ๋ฆฌ๋ทฐ (1) ์•จ๋ฒ” ๋ฆฌ์ŠคํŠธ์—์„œ ์•จ๋ฒ” ์ด๋ฆ„์„ ๊ธธ๊ฒŒ ๋ˆ„๋ฅด๋ฉด ์‚ญ์ œ๋˜๋Š” ๋กœ์ง์— ๋Œ€ํ•œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ use-gallery ์ดํ›„์—๋Š” ํ•ด๋‹น ๋‚ด์šฉ์˜ ๊ธฐ๋Šฅ๊ณผ ๋ช…์„ธ๋ฅผ ๋‚˜๋ˆ„๊ณ  ์˜ฎ๊ธฐ๋Š” ๊ฒƒ ๋ฟ์ด๋ผ ๋”ฐ๋กœ ์„ค๋ช…ํ•  ๋ถ€๋ถ„์€ ์—†๋‹ค. (2) ์ด๋ฏธ์ง€๋ฅผ ์งง๊ฒŒ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ์ด๋ฏธ์ง€์˜ ํฐ ๋ฒ„์ ผ์ด ๋‚˜์˜ค๋Š” ๋กœ์ง์— ๋Œ€ํ•œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ a. flatlist์˜ ์›์†Œ์ธ ์ด๋ฏธ์ง€ ํ•˜๋‚˜๋ฅผ ๋ˆ„๋ฅด๋ฉด modal์ด ์—ด๋ฆฌ๋Š” ๋กœ์ง ์œ„์— ๋ณด๋ฉด item์„ image๋กœ ์žฌ๋ช…์นญ ํ–ˆ๋‹ค. ์›๋ž˜๋Š” item์„ ๋ฐ”๋กœ id์™€ uri๋กœ ๊ตฌ์กฐ๋ถ„ํ•ด ํ•ด์„œ ๋ฐ›์•˜๋‹ค. ํ•˜์ง€๋งŒ OnpressImage๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์ด๋ฏธ์ง€ ๊ฐ์ฒด ์ž์ฒด (id์™€ uri๊ฐ€ ๋ฌถ์—ฌ ์žˆ๋Š” ๊ฒƒ)๋ฅผ ๋ฐ›์•„์•ผ ํ•จ์œผ๋กœ Image ์ž์ฒด๋„ ํ•„์š”ํ•ด์กŒ๋‹ค. ๋”ฐ๋ผ์„œ item์„ Image๋กœ ์žฌ๋ช…์นญ ํ•˜๊ณ  ,id์™€ uri๋Š” ๋‹ค์‹œ image๋กœ๋ถ€ํ„ฐ ๊ตฌ์กฐ..
2023.04.17
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
์•จ๋ฒ” ๋ณ„๋กœ ์‚ฌ์ง„ ์ถ”๊ฐ€ํ•˜๊ธฐ ํ›„๋ฐ˜
1. ๋กœ์ง 2. ์ฝ”๋“œ๋ฆฌ๋ทฐ (1) Modal์—์„œ ํ‚ค๋ณด๋“œ๋กœ return ํ‚ค ๋ˆ„๋ฅผ ์‹œ ์•จ๋ฒ” ์ด๋ฆ„์ด ์•จ๋ฒ”List์— ์ถ”๊ฐ€๋˜๋Š” ๋กœ์ง albumTitle์€ ๋ชจ๋‹ฌ ์† TextInput์˜ onChangeText์— ์˜ํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์ ์€ ๊ฐ’์ด ์ ํžŒ๋‹ค. (2) ์ƒ๋‹จ ์•จ๋ฒ” ๋ช… ํด๋ฆญ ์‹œ ์•จ๋ฒ”์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ซ™ ๋ณด์—ฌ์ฃผ๋Š” ๋กœ์ง isDropdownOpen์ด ์ฐธ์ผ ๋•Œ๋งŒ ๋ณด์ด๋Š” View ํ•ด๋‹น View๋Š” List ํ˜•ํƒœ์ด๋ฏ€๋กœ, ํ˜„์žฌ ์„ ํƒ๋œ ์•จ๋ฒ” ์ œ๋ชฉ๋งŒ ๋ณด์—ฌ์คฌ๋˜ ์ƒ๋‹จ Bar์— ๋น„ํ•ด ํฌ๊ธฐ๊ฐ€ ํฌ๋‹ค. ๊ทธ๋ž˜์„œ List๊ฐ€ ๋„“์–ด์งˆ์ˆ˜๋ก ๋ถ€๋ชจ TouchableOpacity์˜ ์ž๋ฆฌ๋ฅผ ์นจ๋ฒ”ํ•˜๋Š” ์ผ์ด ์ƒ๊ฒผ๋‹ค. ๊ทธ๋ž˜์„œ ํ•ด๋‹น View๋ฅผ ์†๋ฐ•์—์„œ ์ž์œ ๋กœ์šด absolute ํฌ์ง€์…˜์œผ๋กœ ๋ฐ”๊พธ๊ณ , top์„ headerHeight๋กœ ์ค˜์„œ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์˜ ํฌ๊ธฐ ๋งŒํผ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๋กœ ..
2023.04.16
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
์•จ๋ฒ” ๋ณ„๋กœ ์‚ฌ์ง„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „๋ฐ˜
์ด๋ฒˆ ๊ฐ•์˜์—์„œ ํ•œ ๊ฒƒ์€, ๊ฐค๋Ÿฌ๋ฆฌ ์ƒ๋‹จ ๋ถ€์— ํ˜„์žฌ ์šฐ๋ฆฌ๊ฐ€ ์ ‘์†ํ•œ ์•จ๋ฒ” ๋ช… + ์•จ๋ฒ” ์ถ”๊ฐ€ ํ™”๋ฉด ๋œจ๋„๋ก ๋งŒ๋“ค๊ธฐ . ์•จ๋ฒ” ์ถ”๊ฐ€๋ž€ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ํŒ์—…์ด ๋œจ๋„๋ก ํ•˜๊ณ , ํ•ด๋‹น ํŒ์—…์— text input์„ ๋‘์–ด์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ. ์•„์ง ์ž…๋ ฅ ๊ฐ’์ด ์ „๋‹ฌ๋˜์„œ ์ƒˆ๋กœ์šด ์•จ๋ฒ”์ด ๋งŒ๋“ค์–ด์ง€๋Š” ๊ฒƒ์€ ๊ตฌํ˜„ ํ•˜์ง€ ์•Š์•˜๋‹ค. 1. ๋กœ์ง 2. ์ฝ”๋“œ ๋ฆฌ๋ทฐ (1) use-gallery (customHook ๋ถ€๋ถ„) ์“ฐ์ผ ์ƒํƒœ ๋ณ€์ˆ˜ ๋ชจ์Œ selectedAlbum์€ ํ˜„์žฌ ์„ ํƒ๋œ ์•จ๋ฒ”์˜ ์ด๋ฆ„์„ ๋งํ•˜๋Š” ๊ฒƒ์ด๊ณ , albumTitle์€ ์‚ฌ์šฉ์ž๊ฐ€ ์‹ ๊ทœ ์ž…๋ ฅํ•œ ์•จ๋ฒ”์˜ ์ด๋ฆ„์ด ๋“ค์–ด๊ฐ€๋Š” ๊ณณ์ด๋‹ค. albums๋Š” ํ˜„์žฌ ์ €์žฅ๋œ ์•จ๋ฒ”์˜ ๋ชฉ๋ก์ด๋‹ค. modalVisible์€ ํŒ์—…์ฐฝ on/off ์šฉ ์ƒํƒœ๋ณ€์ˆ˜์ด๋‹ค. ์‹ ๊ทœ ์ถ”๊ฐ€๋œ ํ•จ์ˆ˜ : ๋ชจ๋‹ฌ์ด๋ผ๋Š” ํŒ์—…์ฐฝ ์ผœ๊ธฐ / ..
2023.04.14
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
๊ฐค๋Ÿฌ๋ฆฌ ์•ฑ ํด๋ก ์ฝ”๋”ฉ - ๊ฐค๋Ÿฌ๋ฆฌ์— ์‚ฌ์ง„ ์ถ”๊ฐ€ํ•˜๊ธฐ
1. Device ๋‚ด์žฅ ๊ฐค๋Ÿฌ๋ฆฌ ์ ‘์† : expo์˜ imagePicker๋ผ๋Š” ๋กœ์ง์ด์šฉ (1) ๋กœ์ง (2) ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋‚ด๋ถ€ ์ฝ”๋“œ๋“ค์ธ๋ฐ async ํ•จ์ˆ˜, await ๋“ฑ pickImage๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋‚ด๋ถ€ ๋กœ์ง๋“ค ์ค‘ ๋ชจ๋ฅด๋Š” keyWord๋“ค์ด ๋งŽ๋‹ค. ํ•ด๋‹น ๋‚ด์šฉ๋“ค์„ ์•Œ๋ ค๋ฉด promise ๋ผ๋Š” ํ‚ค์›Œ๋“œ ๋ถ€ํ„ฐ ๊ณต๋ถ€ํ•ด์•ผ ํ•œ๋‹ค. ์ด๋Š” ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฌ๋ฏ€๋กœ, ๋จผ์ € ์ด๋ฒˆ ๊ฐ•์˜ ์ „ ๋‚ด์šฉ์„ ๋น ๋ฅด๊ฒŒ ์ •๋ฆฌํ•œ ํ›„ ๋Œ์•„์™€์„œ ๊ณต๋ถ€ํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค. (3) ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ ๋œ ๊ฒƒ - image Picker ๋กœ์ง ๋ถ„ํ•ด๋ฅผ ํ†ตํ•˜์—ฌ https://docs.expo.dev/versions/latest/sdk/imagepicker/ 2. imagePicker๊ฐ€ ํ•˜๋‚˜์˜ ์‚ฌ์ง„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์‚ฌ์ง„์„ ๊ฐ€์ง€๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ๋„๋ก ์ปค์Šคํ„ฐ๋งˆ์ด์ง• + imagePicker..
2023.04.13
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
์บ˜๋ฆฐ๋” ํด๋ก ์ฝ”๋”ฉ - todoList ์ €์žฅ๊ณ ์— ์ €์žฅํ•˜๊ณ  ๊บผ๋‚ด์˜ค๊ธฐ
์•ฑ์„ ๋‚˜์™”๋‹ค๊ฐ€ ๋‹ค์‹œ ๋“ค์–ด๊ฐ€๋„ ๋‚ด๊ฐ€ ์ผ์ „์— ์ ์—ˆ๋˜ todoList๋Š” ๊ทธ๋Œ€๋กœ ์ €์žฅ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๊ฑธ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด Stroage๋ž€ DB๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์ด ๋žœ๋”๋ง ๋˜๊ณ  ์žˆ๋Š” ์ƒํ™ฉ์—์„œ update ์‹œ ๋ฐ”๋กœ DB์— update ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅ์‹œ์ผœ ์ฃผ๋„๋กํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ๋‹ค์‹œ ์‹œ์ž‘๋  ๋•Œ, ํ•ด๋‹น DB์—์„œ ๋‚ด์šฉ๋ฌผ์„ ๊บผ๋‚ด ์˜ค๋„๋ก ํ•œ๋‹ค. 1. ๋กœ์ง 2. ์ฝ”๋“œ ๋ฆฌ๋ทฐ AsyncStorage - Expo Documentation AsyncStorage Expo is an open-source platform for making universal native apps for Android, iOS, and the web with JavaScript and React. docs.expo.dev ๋จผ์ € ์—ฌ๊ธฐ์„œ AsyncS..
2023.04.12
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก 
thumbnail
์บ˜๋ฆฐ๋” ํด๋ก ์ฝ”๋”ฉ - toDo ์ ํžŒ ๋‚ ์งœ๋Š” ์ฐํ•˜๊ฒŒ ํ‘œ์‹œ
1. ๋กœ์ง 2. ์ฝ”๋“œ๋ฆฌ๋ทฐ 3. ์ƒˆ๋กญ๊ฒŒ ๋ฐฐ์šด ๊ฒƒ JS ์˜ Array ํ•จ์ˆ˜ ์ค‘ ํ•˜๋‚˜์ธ find find๋Š” ์ฃผ์–ด์ง„ ํŒ๋ณ„ ํ•จ์ˆ˜๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. array = [5,12,23,45,13] const result = array.find(element => element > 10 ); console.log(result) // ๊ฒฐ๊ณผ๋Š” 12 ์•Œ๋‹ค์‹œํ”ผ, 0์ด ์•„๋‹Œ ๋ชจ๋“  ์ˆซ์ž๋Š” ์ฐธ ์ทจ๊ธ‰์„ ๋ฐ›๋Š”๋‹ค. (๊ทธ๋ž˜์„œ ์œ„์˜ ๋กœ์ง์€ ์ด๋ฅผ ์ด์šฉํ•ด boolean ๊ฐ’์ฒ˜๋Ÿผ ์“ด ๊ฒƒ์ด๋‹ค.) ๋งŒ์•ฝ์— ์œ„์˜ ํ•จ์ˆ˜์—์„œ 10๋ณด๋‹ค ํฐ ์ˆซ์ž๊ฐ€ ์•„๋ฌด๊ฒƒ๋„ ์—†์—ˆ๋‹ค๋ฉด, find ํ•จ์ˆ˜๋Š” undefined๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
2023.04.12
๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ/React Native-์ด๋ก