๐Ÿ‘ฉ‍๐Ÿ’ป๊ณต๋ถ€/React 4

[React] Props ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น / State / useState / onClick Event / onChange Event

๊ตฌ์กฐ๋ถ„ํ•ด ํ• ๋‹น๊ณผ Props Child ์ปดํผ๋„ŒํŠธ์—์„œ ์–ด๋–ค props๋“ค์ด ์‹ค์ œ๋กœ ์“ฐ์ด๋Š”์ง€ ์ง๊ด€์ ์œผ๋กœ ์•Œ๊ธฐ ์‰ฌ์›€ State state๋Š” UI๋ฅผ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ!!! state : ์ปดํฌ๋„ŒํŠธ์•ˆ์—์„œ ๋ณ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’ 1) useState + onClick Event 2) useState + onChange Event

[React] rfce / JSX / Props / prop drilling / Props Children

rfce / rfc ํ™•์žฅํ”„๋กœ๊ทธ๋žจ React snippets(ES7+ React/Redux/React-Native snippets) ์„ค์น˜ํ•˜๋ฉด ์‚ฌ์šฉ ๊ฐ€๋Šฅ App.js ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋‹จ์ถ•ํ‚ค์ž„ JSX ๋ฌธ๋ฒ• 1) ํด๋ž˜์Šค๋ช…, ์‚ผํ•ญ์—ฐ์‚ฐ์ž, style(์ธ๋ผ์ธ) style(์ธ๋ผ์ธ) : ํƒœ๊ทธ์— ์Šคํƒ€์ผ์ผ ์ง์ ‘ ๋„ฃ์Œ 2) style(๋ณ€์ˆ˜) style(๋ณ€์ˆ˜) : ์Šคํƒ€์ผ์„ ๋ณ€์ˆ˜๋กœ ๋นผ์„œ ์“ฐ๋ฉด ์žฌ์‚ฌ์šฉ์„ฑ ๋†’์•„์ง!!! Props ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์—๊ฒŒ ๋ฌผ๋ ค์ค€ ๋ฐ์ดํ„ฐ ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ์ •๋ณด ๊ต๋ฅ˜ ๋ฐฉ๋ฒ• props๋Š” ๋ฐ˜๋“œ์‹œ ์œ„์—์„œ ์•„๋ž˜ ๋ฐฉํ–ฅ์œผ๋กœ ํ๋ฆ„(= ๋ถ€๋ชจ → ์ž์‹ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ! (๋‹จ๋ฐฉํ–ฅ)) props๋Š” ๋ฐ˜๋“œ์‹œ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์ทจ๊ธ‰ํ•˜๋ฉฐ, ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Œ ๋ถ€๋ชจ(Mother) ์ปดํฌ๋„ŒํŠธ์—์„œ ์ •๋ณด ์ „๋‹ฌํ•ด์„œ > ์ž๋…€(Child) ์ปดํฌ๋„ŒํŠธ์—..

[React] ์ปดํฌ๋„ŒํŠธ(Component)

React Component ์ปดํฌ๋„ŒํŠธ = ๋ธ”๋Ÿญ = ํ•จ์ˆ˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š” = html์„ return ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š” ์ปดํฌ๋„ŒํŠธ์˜ ๊ฐ€์žฅ ์ฒซ ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ!! ์ปดํฌ๋„ŒํŠธ๋กœ UI๋ฅผ ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ๊ฐœ๋ณ„์ ์ธ ์—ฌ๋Ÿฌ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ๊ฐ ์กฐ๊ฐ์„ ๊ฐœ๋ณ„์ ์œผ๋กœ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Œ ์ปดํฌ๋„ŒํŠธ๋Š” JavaScript ํ•จ์ˆ˜์™€ ์œ ์‚ฌํ•จ 'props'๋ผ๊ณ  ํ•˜๋Š” ์ž„์˜์˜ ์ž…๋ ฅ์„ ๋ฐ›์€ ํ›„, ํ™”๋ฉด์— ์–ด๋–ป๊ฒŒ ํ‘œ์‹œ๋˜๋Š”์ง€๋ฅผ ๊ธฐ์ˆ ํ•˜๋Š” React ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ๋ฐ˜ํ™˜(return) return() ์•ˆ์— ์ตœ์ƒ์œ„ ํƒœ๊ทธ๋Š” ํ•˜๋‚˜๋งŒ ์žˆ์–ด์•ผ ํ•จ (๋นˆํƒœ๊ทธ ๋„ ๊ฐ€๋Šฅ!) ํ•จ์ˆ˜ํ˜• ์ปจํผ๋„ŒํŠธ๊ฐ€ ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ ๋ณด๋‹ค ์‚ฌ์šฉ๋„๊ฐ€ ๋†’์Œ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ ํ˜•์‹ // props๋ผ๋Š” ์ž…๋ ฅ์„ ๋ฐ›์Œ // ํ™”๋ฉด์— ์–ด๋–ป๊ฒŒ ํ‘œํ˜„๋˜๋Š”์ง€๋ฅผ ๊ธฐ์ˆ ํ•˜๋Š” React ์—˜๋ฆฌ๋จผ์ธ ๋ฅผ ๋ฐ˜ํ™˜(return)..

[React] NPM / Yarn / CRA

NPM / Yarn NPM(Node Package Manager)์€ Node.js์˜ ๊ธฐ๋ณธ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋กœ, npm์—์„œ ์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์šด๋ฐ›์•„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Œ. yarn๋„ npm๊ณผ ๊ฐ™์€ ์—ญํ• ! ๋‘˜ ๋‹ค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์ธ Node.js์˜ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž yarn์ด npm๋ณด๋‹ค ์„ฑ๋Šฅ์ ์œผ๋กœ ์กฐ๊ธˆ ๊ฐœ์„ ๋์Œ NPM / Yarn ๋ช…๋ น์–ด Yarn ์„ค์น˜ โ‘  ํ„ฐ๋ฏธ๋„์—์„œ yarn ์„ค์น˜ํ•˜๊ธฐ npm install -g yarn โ‘ก yarn ์„ค์น˜(๋ฒ„์ „) ํ™•์ธ yarn -v CRA(Create React App) ํ•œ ์ค„์˜ ๋ช…๋ น์–ด ์ž…๋ ฅ์œผ๋กœ React ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์— ํ•„์ˆ˜์š”์†Œ๋ฅผ ์ž๋™์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ์™„์ œํ’ˆ์„ ์„ค์น˜ํ•œ๋‹ค ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ (=๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ) CRA๋กœ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ/์‹คํ–‰ โ‘  ํ„ฐ๋ฏธ๋„์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ํด๋”๋กœ ์ด๋™ํ•ด ..