ํ๋ฆ„ํŒŒ์•…ํ•ด๋ณด๊ธฐ
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/React
๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.
๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/JavaScript
๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น(Destructuring Assignment)๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด์˜ ๊ฐ’์„ ์‰ฝ๊ฒŒ ๊บผ๋‚ด์„œ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ES6 ๋ฌธ๋ฒ•์ด๋‹ค. 1. ๋ฐฐ์—ด ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น1-1. ๊ธฐ๋ณธ์˜ˆ์ œconst arr = [1,2,3];const [a,b,c] = arr;console.log(a); // 1console.log(b); // 2console.log(c); // 3๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ๋ณ€์ˆ˜์— ํ• ๋‹น๋œ๋‹ค.1-2. ์ผ๋ถ€ ๊ฐ’๋งŒ ๊บผ๋‚ด๊ธฐ, ๊ฑด๋„ˆ๋›ฐ๊ธฐconst arr = [10,20,30,40];const [fist, , third] = arr;console.log(first); // 10console.log(third); // 30๋‘ ๋ฒˆ์งธ ๊ฐ’์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ์„ธ ๋ฒˆ์งธ ๊ฐ’์„ ๋ฐ”๋กœ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.1-3. ๋‚˜๋จธ์ง€(REST) ์—ฐ์‚ฐ์ž..
์ฒซ ๋ฒˆ์งธ ์ปดํฌ๋„ŒํŠธ
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/React
๋”๋ณด๊ธฐ1. ์ปดํฌ๋„ŒํŠธ๋งˆํฌ์—…, CSS, JS๋ฅผ ์•ฑ์˜ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ UI ์š”์†Œ1-1. ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ณด๋‚ด๊ธฐ`export default` ๋Š” ํ‘œ์ค€ JavaScript ๊ตฌ๋ฌธ์œผ๋กœ ๋‚˜์ค‘์— ๋‹ค๋ฅธ ํŒŒ์ผ์—์„œ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.1-2. ํ•จ์ˆ˜ ์ •์˜ํ•˜๊ธฐ`function Profile() {}`์„ ์‚ฌ์šฉํ•˜๋ฉด `Profile`์ด๋ผ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜๋ฅผ ์ •์˜.React ์ปดํฌ๋„ŒํŠธ๋Š” ์ผ๋ฐ˜ JS ํ•จ์ˆ˜์ด์ง€๋งŒ, ์ด๋ฆ„์€ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•˜๋ฉฐ ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค. 1-3. ๋งˆํฌ์—… ์ถ”๊ฐ€ํ•˜๊ธฐ์ด ์ปดํฌ๋„ŒํŠธ๋Š” `src` ๋ฐ `alt` ์†์„ฑ์„ ๊ฐ€์ง„ ``ํƒœ๊ทธ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. HTML์ฒ˜๋Ÿผ ์ž‘์„ฑ๋˜์žˆ์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์ด๋ฉฐ,์ด ๊ตฌ๋ฌธ์„ JSX๋ผ๊ณ  ํ•œ๋‹ค.return ;// ๋งˆํฌ์—…์ด ๋ชจ๋‘ returnํ‚ค์›Œ๋“œ์™€ ๊ฐ™์€ ๋ผ์ธ์— ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ด„ํ˜ธ๋กœ ๋ฌถ๋Š”๋‹ค.retu..
props
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/React
๋ฆฌ์•กํŠธ ๊ธฐ๋ณธ ๋ฌธ์„œ์—์„œ ๋ณด์ถฉ ์„ค๋ช…์ด ํ•„์š”ํ•ด ์žฌ์ •๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ธฐ๋ณธ ๊ฐœ๋…์„ ๋‹ค์žก๊ณ ์ž ํ•œ๋‹ค.https://ko.react.dev/learn/passing-props-to-a-component1. props๋ž€props๋Š” "properties"์˜ ์ค„์ž„๋ง๋กœ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์—๊ฒŒ ๊ฐ’์„ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.์ž์‹ ์ปดํฌ๋„ŒํŠธ๋Š” props๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋ฐ›์€ ๊ฐ’์„ ์ฝ๋Š”๋‹ค.props๋Š” ์ฝ๊ธฐ ์ „์šฉ์ด๋‹ค. ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋Š” props ๊ฐ’์„ ์ง์ ‘ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋‹ค.2. ์ฝ”๋“œ์—์„œ์˜ props ํ๋ฆ„2-1. ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ : Profile// App.jsexport default function Profile() { return ( .. );}Profile ์ปดํฌ๋„ŒํŠธ๊ฐ€ Avatar ์ปดํฌ๋„ŒํŠธ๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ์‚ฌ์šฉํ•˜๋ฉด์„œ, ๊ฐ..
ํ‘œํ˜„์‹ ํ‘œํ˜„๋ฌธ ํ‘œํ˜„์‹๋ฌธ
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/JavaScript
ํ‘œํ˜„์‹ , ๋ฌธ, ํ‘œํ˜„์‹๋ฌธ ์ด๋ž€ ๋‹จ์–ด๋Š” ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ณ„์† ๋‚˜์˜ค๋˜๋ฐ ๊ฐœ๋…์ด ํ™•์‹ค์น˜ ์•Š์•„ ๋‹ค์‹œ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.1. ํ‘œํ˜„์‹(Expression)์ •์˜ : ์‹คํ–‰ ๊ฒฐ๊ณผ๊ฐ€ ํ•ญ์ƒ ๊ฐ’์ด ๋˜๋Š” ์ฝ”๋“œํ‘œํ˜„์‹์€ ๊ฐ’์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.var x; // ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธx = 5; // ํ• ๋‹น๋ฌธfunction foo() {} // ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธif (x > 1) {} // ์กฐ๊ฑด๋ฌธfor(let i = 0; i 2. ๋ฌธ(Statement)์ •์˜ : ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋ณธ ์‹คํ–‰ ๋‹จ์œ„.๋ช…๋ น ๋˜๋Š” ๋ฌธ์žฅ์— ํ•ด๋‹นํ•˜๋ฉฐ, ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ์ œ์–ดํ•œ๋‹ค.ํ”„๋กœ๊ทธ๋žจ์˜ ๋™์ž‘์„ ์ง€์‹œ๋ฌธ์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ํ‘œํ˜„์‹์œผ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค.๋ฌธ ๋์—๋Š” ๋ณดํ†ต ์„ธ๋ฏธํด๋ก (;) ์„ ๋ถ™์ธ๋‹ค.10; // ์ˆซ์ž ๋ฆฌํ„ฐ๋Ÿด ํ‘œํ˜„์‹'hello' // ๋ฌธ์ž ๋ฆฌํ„ฐ๋Ÿด ํ‘œํ˜„์‹x // ์‹๋ณ„์ž ํ‘œํ˜„์‹2 + 3 //..
return ์•ˆ์— Fragement ๋˜๋Š” ๋ถ€๋ชจํƒœ๊ทธ๋กœ ๋กœ ๊ฐ์‹ธ๋Š” ์ด์œ 
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/React
return ์•ˆ์— ํ•˜๋‚˜์˜ JSX ์š”์†Œ๋งŒ ์žˆ๋‹ค๋ฉด ๊ฐ์Œ€ ํ•„์š”๊ฐ€ ์—†๋‹ค.ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ ๊ฐœ์˜ JSX ์š”์†Œ๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜๋กœ ๊ฐ์‹ธ์•ผ ํ•œ๋‹ค. react ๊ณต์‹ ๋ฌธ์„œ์—์„œJSX๋Š” HTML์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ์ผ๋ฐ˜ JavaScript ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ๋ฐฐ์—ด๋กœ ๊ฐ์‹ธ์ง€ ์•Š์€ ํ•˜๋‚˜์˜ ํ•จ์ˆ˜์—์„œ๋Š” ๋‘ ๊ฐœ์˜ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋˜ ๋‹ค๋ฅธ ํƒœ๊ทธ๋‚˜ Fragment๋กœ ๊ฐ์‹ธ์ง€ ์•Š์œผ๋ฉด ๋‘ ๊ฐœ์˜ JSX ํƒœ๊ทธ๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ผ๋Š” ๋‚ด์šฉ์ด ์ •ํ™•ํžˆ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์•˜๋‹ค. 1. JSX๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜๋œ๋‹ค.JSX๋Š” ์‹ค์ œ๋กœ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” HTML ์ด ์•„๋‹ˆ๋ผ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜๋œ๋‹ค.// JSXconst element = Hello;// JS ์ด ์ฝ”๋“œ๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ํ•˜๋‹จ ์ฝ”๋“œ์ฒ˜๋Ÿผ ๋ณ€ํ™˜๋œ๋‹ค.c..
Default Export ์™€ Named Export
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/React
1. Default Export (๊ธฐ๋ณธ ๋‚ด๋ณด๋‚ด๊ธฐ)ํ•œ ํŒŒ์ผ(๋ชจ๋“ˆ)์—์„œ ๋‹จ ํ•˜๋‚˜๋งŒ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ๊ฐ€์ ธ์˜ฌ ๋•Œ(import) ์ด๋ฆ„์„ ๋งˆ์Œ๋Œ€๋กœ ์ •ํ•  ์ˆ˜ ์žˆ์Œ์ค‘๊ด„ํ˜ธ ์—†์ด import// Gallery.jsexport default function Gallery() {..};// App.jsimport MyGallery from './Gallery.js';export default function App() { return ( );}์ฃผ๋กœ "์ด ํŒŒ์ผ์˜ ๋Œ€ํ‘œ ๊ธฐ๋Šฅ" ์„ ๋‚ด๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉ 2. Named Export (์ด๋ฆ„ ๋‚ด๋ณด๋‚ด๊ธฐ)ํ•œ ํŒŒ์ผ์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ๋‚ด๋ณด๋‚ผ ๋•Œ์™€ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์ด๋ฆ„์ด ์ผ์น˜ํ•ด์•ผ ํ•จ(ํ•„์š”ํ•˜๋ฉด as ๋ณ„์นญ ๊ฐ€๋Šฅ)์ค‘๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ import// Gallery.jsexport functi..
ํ˜•์ œ ์ธ์ ‘์ž display:none; ์ผ ๋•Œ ์ ์šฉ๋˜์ง€ ์•Š๋Š” ์ด์œ 
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/CSS
1. ๋ฌธ์ œ๋งˆํฌ์—…์„ ์งค ๋•Œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋„˜๊ฒจ์ฃผ๊ธฐ ์œ„ํ•ด ์ž„์‹œ๋กœ ์ธ๋ผ์ธ์— display:none; ์ฒ˜๋ฆฌํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์—ˆ๋‹ค.block3์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ๊ฐ€ ์ ์šฉ๋  ์ค„ ์•Œ์•˜๋Š”๋ฐ ๋˜์ง€ ์•Š์•˜๋‹ค.block1block2block3.block1 + .block3 {background-color:red;} 2. ์ด์œ ์ธ์ ‘ ํ˜•์ œ ์„ ํƒ์ž๋Š” "HTML ๊ตฌ์กฐ์ƒ ๋ฐ”๋กœ ๋‹ค์Œ ํ˜•์ œ" ๋งŒ ์„ ํƒํ•˜๊ธฐ ๋•Œ๋ฌธ.์ฆ‰, ์š”์†Œ๊ฐ€ ํ™”๋ฉด์— ๋ณด์ด๋А๋ƒ (display:none ์ด๋ƒ) ๋Š” ์ „ํ˜€ ์ƒ๊ด€์—†๊ณ , HTML ๊ตฌ์กฐ์ƒ ๋ฐ”๋กœ ๋‹ค์Œ์— ์˜ค๋Š” ํ˜•์ œ๋งŒ ์ธ์‹ ํ•œ๋‹ค.display:none์€ ๋ณด์ด์ง€ ์•Š๊ฒŒ๋งŒ ํ•  ๋ฟ, DOM ๊ตฌ์กฐ์—์„œ ์‚ฌ๋ผ์ง€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.