๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

๐Ÿš€ Development/React Native12

React ๊ฐœ๋ฐœ์— Node.js๊ฐ€ ํ•„์š”ํ•œ ์ด์œ  React๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด Node.js๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. โ€‹ Node.js๊ฐ€ React๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋” ์‰ฝ๊ฒŒ ํ•ด์ฃผ๋Š” ๋„๊ตฌ๋“ค์„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ๋Š” ์˜คํ”ˆ์†Œ์Šค์ด์ž ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ํ™˜๊ฒฝ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. โ€‹ Node.js.๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ NPM(Node Package Manager)์ด ๊ฐ™์ด ์„ค์น˜๋˜๋Š”๋ฐ ์ด NPM์ด๋ž€ ๊ฒƒ์„ ํ†ตํ•ด React๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ๋ชจ๋“ˆ๋“ค์„ ๋‹ค์šด๋ฐ›์•„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. โ€‹ NPM์€ Node.js์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“ˆ๋“ค์„ ํŒจํ‚ค์ง€ํ™”ํ•˜์—ฌ ๋ชจ์•„๋‘” ์ €์žฅ์†Œ ์—ญํ• ์„ ํ•˜๋ฉฐ ์„ค์น˜/๊ด€๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” CLI๋ฅผ ์ œ๊ณตํ•œ๋‹ค. โ€‹ React๊ฐœ๋ฐœ์ž๋“ค์€ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ตฌํ˜„ํ•ด ๋†’์€ ๊ฐ„ํŽธํ•˜๊ณ  ํ•„์š”ํ•œ ๋ชจ๋“ˆ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ๋‹ค์šด ๋ฐ›๊ธฐ ์œ„ํ•ด node.js๋ฅผ ์„ค์น˜ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. โ€‹ node.js๋ฅผ ํ†ตํ•ด npm์„.. 2023. 6. 15.
[React Native] ๋ ˆ์ด์•„์›ƒ ์Šคํƒ€์ผ๋ง View ํฌ๊ธฐ(๋ฒ”์œ„)๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์†์„ฑ. flex์™€ width, height์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. flex ํฌ๊ธฐ๋ฅผ ๋น„์œจ๋กœ ์„ค์ • export default class App extends Component { render() { return ( ); } } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: 'white', }, case1: { flex: 1, backgroundColor: 'red', }, case2: { flex: 3, backgroundColor: 'green', }, case3: { flex: 1, backgroundColor: 'blue', }, }); width, height ์ˆซ์ž๋ฅผ ๋„ฃ์œผ๋ฉด ๊ณ ์ • ํฌ๊ธฐ, .. 2023. 6. 15.
[React Native] ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ๋ง CSS import โ€œ./style.cssโ€;๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ์‹์œผ๋กœ, css๋ฅผ ์ด์šฉํ•˜์—ฌ ์Šคํƒ€์ผ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. CSS๋กœ ์Šคํƒ€์ผ๋ง์„ ํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธฐ๋Š”๋ฐ, ์ด๋Ÿด ๋• SASS ๋˜๋Š” SCSS ๋“ฑ์„ ํ†ตํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. Sass(syntactically awesome stylesheet) ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” css ์ „์ฒ˜๋ฆฌ๊ธฐ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. css3์˜ ํ™•์žฅ์œผ๋กœ Dart๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•˜๋ฉฐ, ๋” ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค. ์Šคํƒ€์ผ ์ฝ”๋“œ์˜ ์žฌํ™œ์šฉ์„ฑ์„ ๋†’์—ฌ์ฃผ๊ณ  ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๋ฏ€๋กœ ์œ ์ง€๋ณด์ˆ˜์— ๋„์›€์ด ๋œ๋‹ค. ํ™•์žฅ์ž๋Š” .scss์™€ .sass ๋‘๊ฐ€์ง€๋ฅผ ์ง€์›ํ•œ๋‹ค. .sass Importํ•˜๊ธฐ ์œ„ํ•ด์„œ node-sass๋ฅผ ์„ค์น˜ํ•œ๋‹ค. $ yarn add node-sass //utils.scss @impo.. 2023. 6. 15.
[React Native] context API๋ž€ context API ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  React๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Component๋งˆ๋‹ค ์ƒํƒœ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ๊ฐ€ ์ ์  ์ปค์ง€๊ณ  ๋ณต์žกํ•ด์งˆ์ˆ˜๋ก ์ปดํฌ๋„ŒํŠธ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์ด ๋งŽ์•„์ง€๊ณ  ๋ณต์žกํ•ด์ง„๋‹ค. ์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ›จ์”ฌ ์‰ฝ๊ฒŒ ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌ ํ•  ์ˆ˜ ์žˆ๋‹ค Context API๋ž€? ๋ถ€๋ชจ๋ถ€ํ„ฐ ์ž์‹์—๊ฒŒ props๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜์ง€๋งŒ, contex API๋ฅผ ์ด์šฉํ•˜๋ฉด ํŠธ๋ฆฌ ๋‹จ๊ณ„๋งˆ๋‹ค props๋ฅผ ๋„˜๊ฒจ์ฃผ์ง€ ์•Š์•„๋„ ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ ์ „์ฒด์— ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ธ์ œ Context API ์‚ฌ์šฉ ํ•˜๋Š”๊ฐ€? Globalํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณ ์•ˆ๋œ ๋ฐฉ๋ฒ•์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋น„์Šทํ•œ ๋ฐ์ดํ„ฐ๋กœ๋Š” ํ˜„์žฌ ๋กœ๊ทธ์ธํ•œ ์œ ์ €(๋กœ๊ทธ์ธ ๋ฐ์ดํ„ฐ), ํ…Œ๋งˆ, ์„ ํ˜ธํ•˜๋Š” ์–ธ์–ด ๋“ฑ์ด ์žˆ๋‹ค. ์ฃผ์˜ํ•  ์  ์ „์—ญ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๊ณณ์—์„œ.. 2023. 6. 15.
728x90
๋ฐ˜์‘ํ˜•