์ฝ”๋”ฉ์• ํ”Œ

ยท React
์„œ๋ฒ„์—๊ฒŒ ๋ฐ์ดํ„ฐ ์š”์ฒญํ• ๋•Œ ์œ ์ €๊ฐ€ ๊ทธ๋ƒฅ ๋ฐ์ดํ„ฐ ๋‹ฌ๋ผ๊ณ  ํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ๋ณด๋‚ด์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ• ๋•Œ๋Š” ์ •ํ™•ํ•œ ๊ทœ๊ฒฉ์— ๋งž์ถฐ์„œ ์š”์ฒญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค 1. ์–ด๋–ค ๋ฐ์ดํ„ฐ์ธ์ง€ (URL ํ˜•์‹์œผ๋กœ) 2. ์–ด๋–ค ๋ฐฉ๋ฒ•์œผ๋กœ ์š”์ฒญํ• ์ง€ (GET or POST) ์ž˜ ๊ธฐ์žฌํ•ด์•ผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด์ค๋‹ˆ๋‹ค. ๋ณดํ†ต, ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ๋•Œ๋Š” GET ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ๋•Œ๋Š” POST ๋ฅผ ์”๋‹ˆ๋‹ค. AJAX ๋ž€? ์„œ๋ฒ„์— GET,POST ์š”์ฒญ์„ ํ• ๋•Œ ์ƒˆ๋กœ๊ณ ์นจ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๊ฐ„๋‹จํ•œ ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋Šฅ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. (get ์š”์ฒญ์„ ๋‚ ๋ฆฌ๊ณ  ์‹ถ์œผ๋ฉด ์ฃผ์†Œ์ฐฝ์—, post์š”์ฒญ์„ ๋‚ ๋ฆฌ๊ณ  ์‹ถ์œผ๋ฉด form ํƒœ๊ทธ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋˜์ง€๋งŒ, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ƒˆ๋กœ๊ณ ์นจ๋œ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌ) ๊ทธ๋ž˜์„œ AJAX๋ฅผ ์ž์ฃผ ์”๋‹ˆ๋‹ค. AJAX๋กœ GET,POST ์š”์ฒญ์„ ํ•˜๋Š”..
ยท React
useEffect(()=>{์‹คํ–‰ํ•  ์ฝ”๋“œ},[count]) useEffect ์˜ ์ฒซ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ๋Š” ์‹คํ–‰ํ•  ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด์ฃผ๊ณ , ๋‘˜์งธ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ๋Š” [](๋ฐฐ์—ด)์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š”๋ฐ, []์•ˆ์— ๋ณ€์ˆ˜๋‚˜ state ๊ฐ™์€ ๊ฒƒ๋“ค์„ ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” [] ์— ์žˆ๋Š” ๋ณ€์ˆ˜๋‚˜ state ๊ฐ€ ๋ณ€ํ•  ๋•Œ๋งŒ, useEffect ์•ˆ์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด์ค๋‹ˆ๋‹ค ์œ„์˜ ์ฝ”๋“œ๋Š” count ๋ผ๋Š” ๋ณ€์ˆ˜๊ฐ€ ๋ณ€ํ• ๋•Œ๋งŒ, useEffect ์•ˆ์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰๋˜๊ฒ ๊ตฐ์š”. useEffect(()=>{์‹คํ–‰ํ•  ์ฝ”๋“œ},[]) ๋งŒ์•ฝ๋‘๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋นˆ ๋ฐฐ์—ด์„ ๋„ฃ์–ด์ค€๋‹ค๋ฉด, ์ฒ˜์Œ ๋ Œ๋”๋ง ์‹œ 1ํšŒ ์‹คํ–‰ํ•˜๊ณ  ์˜์˜ ์‹คํ–‰ํ•ด์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์— ๋”ฑ ํ•œ๋ฒˆ๋งŒ ์‹คํ–‰ํ•ด์ค๋‹ˆ๋‹ค clean up function useEffect๋ฅผ ๋™์ž‘ํ•˜๊ธฐ ์ „์— ํŠน์ • ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์œผ๋ฉด ret..
ยท React
์ €๋ฒˆ์— app.js (๋ฉ”์ธํŽ˜์ด์ง€) ํŒŒ์ผ์— ๋””ํ…Œ์ผ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ์š” ์—ฌ๊ธฐ์—๋Š” ์ƒํ’ˆ์ •๋ณด๊ฐ€ ์•„์ง ์ฑ„์›Œ์ง€์ง€ ์•Š์€ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ props ๋ฅผ ์‚ฌ์šฉํ•ด์„œ shoes ์ •๋ณด๋“ค์„ ์ž…๋ ฅํ•ด๋ณผ๊ฒŒ์š” function Detail(props){ return( {props.shoes[0].title} {props.shoes[0].content} {props.shoes[0].price}์› ์ฃผ๋ฌธํ•˜๊ธฐ ) } export default Detail; ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ˜„์žฌ ์ƒ์„ธํŽ˜์ด์ง€์—๋Š” shoes ๋ฐ์ดํ„ฐ์˜ 0๋ฒˆ์งธ ์ •๋ณด๋งŒ ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค 3๊ฐœ์˜ ์ƒํ’ˆ์ด ๋ชจ๋‘ ๋ณด์ด๋„๋ก ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ์š”? ๋ผ์šฐํ„ฐ๋ฅผ 3๊ฐœ ๋งŒ๋“ค๋ฉด ๋˜๊ฒ ์ฃ ? (์Šฌ๋ž˜์‹œ ๊ธฐํ˜ธ๋„ ๋ง˜๋Œ€๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ๋ฐ ๋‹จ์–ด๊ฐ„ ๋„์–ด์“ฐ๊ธฐ์šฉ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ) ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด 3๊ฐœ ํŽ˜์ด์ง€ ์™„์„ฑ! ํ•˜์ง€๋งŒ, ๋งŒ์•ฝ..
Open API , Rest API ๋“ฑ๋“ฑ ์—ฌ๊ธฐ์ €๊ธฐ์„œ API ์ด์•ผ๊ธฐ ํ•˜๋Š”๋ฐ ๋ญ”์†Œ๋ฆฐ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์ฃ ? ์ €๋ž‘ ๊ฐ™์ด ์ •๋ฆฌํ•ด๋ด…์‹œ๋‹ค API ๋ž€? Application Programming Interface ํ•œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ• ์‰ฝ๊ฒŒ ๋งํ•ด์„œ, ๋ฉ”๋‰ดํŒ์ด๋‹ค! ์šฐ๋ฆฌ๊ฐ€ ์‹๋‹น์—์„œ ์ฃผ๋ฌธ์„ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ฃ . ์ค‘๊ตญ์ง‘๊ฐ€์„œ ์น˜ํ‚จ ๋จน๊ณ  ์‹ถ๋‹ค๊ณ  ์น˜ํ‚จ์„ ์‹œํ‚ฌ์ˆ˜๋Š” ์—†์ฃ ? ์šฐ๋ฆฌ์˜ ์„ ํƒ๊ถŒ์„ ํ•œ์ •์‹œ์ผœ์ฃผ๋Š” '๋ฉ”๋‰ดํŒ'์ด ํ•„์š”ํ•˜๊ฒ ์ฃ . ์ฃผ์ธ์ด ๋ฉ”๋‰ดํŒ์„ ๋งŒ๋“ค๋ฉด, ๊ทธ ์•ˆ์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์Œ์‹์„ ๊ณ ๋ฅด๊ฒŒ ๋˜์ฃ . ๋ฉ”๋‰ดํŒ์ด ์‹๋‹น์˜ API ๊ฐ€ ๋˜๋Š” ๊ฒ๋‹ˆ๋‹ค. ์‹๋‹น๊ณผ ์†๋‹˜์ด ์Œ์‹์„ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉ๋˜๋‹ˆ๊นŒ์š” ํ”„๋กœ๊ทธ๋žจ ์ธก๋ฉด์—์„œ ์ƒ๊ฐํ•ด๋ณด์ฃ . ์˜ํ™”๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ์Šต๋‹ˆ๋‹ค ์—ฌ๊ธฐ์„œ ๋‚ด๊ฐ€ ๋งˆ์Œ๋Œ€๋กœ '์•„๋Š”ํ˜•๋‹˜'์„ ์š”์ฒญํ•˜๋ฉด ์–ด๋–ป๊ฒŒ..
ยท React
Input box ์ข…๋ฅ˜ โ€‹ ์ด๊ฑฐ ๋ง๊ณ ๋„ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ์ธํ’‹ ๋ฐ•์Šค๊ฐ€ ๋งŽ์œผ๋‹ˆ ํ•„์š”ํ•  ๋•Œ ์ฐพ์•„์“ฐ๊ธฐ ์— ๋ญ”๊ฐ€ ์ž…๋ ฅํ•˜๋ฉด, ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋„๋ก ์ด๋Ÿด๋• onChange ์•„๋‹ˆ๋ฉด onInput ์ด๋ฒคํŠธํ•ธ๋“ค๋Ÿฌ๋ฅผ ๋ถ€์ฐฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค {์‹คํ–‰ํ•  ์ฝ”๋“œ}}/> ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋Š” ๋งŽ๋‹ค onMouseOver={ } ์ด๊ฑด ์ด ์š”์†Œ์— ๋งˆ์šฐ์Šค๋ฅผ ๋Œ”์„ ๋•Œ ์•ˆ์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด์คŒ onScroll={ } ์ด๊ฑด ์ด ์š”์†Œ๋ฅผ ์Šคํฌ๋กค ํ–ˆ์„๋•Œ ์•ˆ์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด์คŒ ์ž…๋ ฅ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฒ• {console.log(e.target.value)}}/> e๋ผ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , e.target.value๋ฅผ ์“ฐ๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Œ ์ฐธ๊ณ ๋กœ e๋ง๊ณ  ์ž‘๋ช… ์ž์œ ๋กญ๊ฒŒ ํ•ด๋„๋จ e.target => ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ html e.preventDefault()=> ์ด๋ฒค..
ยท React
์•ˆ์— state๋ฅผ ์“ฐ๋ ค๊ณ  ํ•˜๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ function App (){ let [๊ธ€์ œ๋ชฉ, ๊ธ€์ œ๋ชฉ๋ณ€๊ฒฝ] = useState(['๋‚จ์ž์ฝ”ํŠธ ์ถ”์ฒœ', '๊ฐ•๋‚จ ์šฐ๋™๋ง›์ง‘', 'ํŒŒ์ด์ฌ๋…ํ•™']); return ( ) } function Modal(){ return ( { ๊ธ€์ œ๋ชฉ[0] } ๋‚ ์งœ ์ƒ์„ธ๋‚ด์šฉ ) } ํ•˜์ง€๋งŒ, '๊ธ€์ œ๋ชฉ'์ด๋ผ๋Š” ๋ณ€์ˆ˜๊ฐ€ define ๋˜์ง€ ์•Š์•˜๋‹ค๊ณ  ์—๋Ÿฌ๊ฐ€ ๋œน๋‹ˆ๋‹ค ์™œ๋ƒ๋ฉด ๊ธ€์ œ๋ชฉ์ด๋ผ๋Š” state ๋ณ€์ˆ˜๋Š” function App()์— ์žˆ์ง€ function Modal() ์•ˆ์— ์žˆ์ง€ ์•Š์œผ๋‹ˆ๊นŒ์š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๋‹ค๋ฅธํ•จ์ˆ˜์— ์žˆ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋งˆ์Œ๋Œ€๋กœ ๊ฐ€์ ธ๋‹ค ์“ธ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค ๋‹ค๋ฅธ ํ•จ์ˆ˜์˜ ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ ธ๋‹ค ์“ฐ๋ ค๋ฉด? ์ปดํฌ๋„ŒํŠธ 2๊ฐœ๊ฐ€ ๋ถ€๋ชจ/์ž์‹ ๊ด€๊ณ„์ธ ๊ฒฝ์šฐ์— ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. (ํ•œ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ ์•ˆ์— ์žˆ๋Š” ๊ฒฝ์šฐ) ๋ถ€๋ชจ ..
ยท React
๋ชจ๋“  array ์ž๋ฃŒ ์˜ค๋ฅธ์ชฝ์—๋Š” map()์„ ๋ถ™์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค map ํ•จ์ˆ˜ ์“ฐ๋Š”๋ฒ• ๊ธฐ๋Šฅ1. var ์–ด๋ ˆ์ด = [2,3,4]; ์–ด๋ ˆ์ด.map(function(){ // ์ด ์•ˆ์˜ ์ฝ”๋“œ๋ฅผ ์–ด๋ ˆ์ด์›์†Œ ๊ฐฏ์ˆ˜๋งŒํผ ์‹คํ–‰ํ•ด์ฃผ์„ธ์š”~ console.log(1) }); ์–ด๋ ˆ์ด์— ๋“ค์–ด์žˆ๋Š” ์›์†Œ ๊ฐฏ์ˆ˜๋งŒํผ {}์˜ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต์‹คํ–‰ํ•ด์ค€๋‹ค ์ €๋Ÿฌ๋ฉด ์ง„์งœ๋กœ console.log(1) 3๋ฒˆ ์‹คํ–‰๋จ ๊ธฐ๋Šฅ2. var ์–ด๋ ˆ์ด = [2,3,4]; ์–ด๋ ˆ์ด.map(function(a){ // ์–ด๋ ˆ์ด ์•ˆ์— ์žˆ๋Š” ์›์†Œ๋“ค์„ ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•ด์ฃผ์„ธ์š”~ console.log(a) }); ์ฝœ๋ฐฑํ•จ์ˆ˜ ์•ˆ์— ํŒŒ๋ผ๋ฏธํ„ฐ(a)๋ฅผ ์ž‘๋ช…ํ•˜๋ฉด, ๊ทธ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์–ด๋ ˆ์ด์˜ ์›์†Œ๋“ค์„ ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•ด์ค๋‹ˆ๋‹ค ์ €๋Ÿฌ๋ฉด ์ง„์งœ๋กœ 2, 3, 4๊ฐ€ ์ฝ˜์†”์ฐฝ์— ์ถœ๋ ฅ๋จ ๊ธฐ๋Šฅ3. var ์–ด๋ ˆ์ด = [2,3,4]..
ยท React
๋ฆฌ๋™์ ์ธ UI ๊ฐ€ ๋ญ๋‚˜๋ฉด, ์œ ์ €๊ฐ€ ์กฐ์ž‘์‹œ ํ˜•ํƒœ๊ฐ€ ๋ฐ”๋€Œ๋Š” ๋ชจ๋‹ฌ์ฐฝ, ํƒญ, ์„œ๋ธŒ๋ฉ”๋‰ด, ํˆดํŒ, ๊ฒฝ๊ณ ๋ฌธ ๋“ฑ ๊ทธ๋Ÿฐ UI๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋™์ ์ธ UI ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• 1. html, css๋กœ ๋ฏธ๋ฆฌ UI ๋””์ž์ธ์„ ๋‹ค ํ•ด๋†“๊ณ  2. UI์˜ ํ˜„์žฌ์ƒํƒœ๋ฅผ state ๋กœ ์ €์žฅํ•ด๋‘๊ณ  3. state์— ๋”ฐ๋ผ์„œ UI ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณด์ผ์ง€ ์กฐ๊ฑด๋ฌธ ๋“ฑ์œผ๋กœ ์ž‘์„ฑ 1๋ฒˆ์€ ํ–ˆ์œผ๋‹ˆ 2๋ฒˆ๋ถ€ํ„ฐ ํ• ๊ฑฐ์ž„ step 2. UI์˜ ํ˜„์žฌ์ƒํƒœ๋ฅผ state๋กœ ์ €์žฅ state ํ•˜๋‚˜ ๋งŒ๋“ค๊ณ , ๊ฑฐ๊ธฐ์— ํ˜„์žฌ UI์˜ ์ƒํƒœ์ •๋ณด๋ฅผ ์ €์žฅํ•ด๋‘๋ผ๋Š” ์†Œ๋ฆฌ let [modal, setModal] = useState(false); useState ์•ˆ์— ๋ฌด์Šจ ์ž๋ฃŒ๋ฅผ ๋„ฃ์–ด์•ผ ๋˜๋ƒ๋ฉด ์ •๋ง ๋งˆ์Œ๋Œ€๋กœ ํ•˜๋ฉด๋จ ๋ชจ๋‹ฌ์ฐฝ์€ ์—ด๋ฆผ or ๋‹ซํž˜ ์ด ๋‘๊ฐœ ์ƒํƒœ๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๊ฑฐ 2์ข…๋ฅ˜๋งŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•์ด๋ฉด..
becky(์ง€์€)
'์ฝ”๋”ฉ์• ํ”Œ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)