[React] ๋น„๋™๊ธฐ ํ†ต์‹  - fetch (+ axios์— ๋น„ํ•ด ๋ถˆํŽธํ•œ ์ )
ยท
๐Ÿชด React
240219 TIL ๐ŸŽถ ๋Œ€ํ‘œ์ ์ธ ๋น„๋™๊ธฐ ํ†ต์‹  ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” axios์™€ fetch๊ฐ€ ์žˆ๋‹ค. ์ด๋ฒˆ์—๋Š” fetch์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ axios์— ๋น„ํ•ด ๊ฐ€์ง„ ๋‹จ์ ์„ ์•Œ์•„๋ณด์ž :) Fetch ๋จผ์ € Fetch๋Š”, ES6๋ถ€ํ„ฐ ๋„์ž…๋œ Javascript ๋‚ด์žฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, Promise ๊ธฐ๋ฐ˜ ๋น„๋™๊ธฐ ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ๋‚ด์žฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๊ธฐ ๋•Œ๋ฌธ์— (axios์™€ ๋‹ฌ๋ฆฌ) ๋ณ„๋„์˜ ์„ค์น˜ ๋ฐ import๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค BUT, axios์— ๋น„ํ•ด ๋‹จ์ ์ด ์žˆ๋‹ค. ๋ฏธ์ง€์› ๋ธŒ๋ผ์šฐ์ € ์กด์žฌ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ถˆ์นœ์ ˆํ•œ response axios์— ๋น„ํ•ด ๋ถ€์กฑํ•œ ๊ธฐ๋Šฅ axios์— ๋น„ํ•ด ๋ถˆํŽธํ•œ ๋‹จ์ ์€ ํฌ๊ฒŒ ๋‹ค์Œ์˜ ๋‘ ์ผ€์ด์Šค์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 1) ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ฌ ๋•Œ 2) ์—๋Ÿฌ ์ฒ˜๋ฆฌ ์‹œ 1) ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ฌ ๋•Œ์˜ ๋‹จ์ ์€, ์•„๋ž˜..
[React] ๋ฌธ์ œํ•ด๊ฒฐ: e.target์˜ className ๊ฐ€์ ธ์˜ค๊ธฐ ์‹คํŒจ => classList์ธ๋ฑ์Šค๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ or ๊ทธ๋ƒฅ id์“ฐ๊ธฐ (+DOMTokenList)
ยท
๐Ÿชด React
240209 ๋‰ด์Šคํ”ผ๋“œ ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ํ˜„์žฌ header์˜ nav์—์„œ ์„ ํƒ๋œ ์นดํ…Œ๊ณ ๋ฆฌ์— ๋งž์ถฐ ํ•ด๋‹น ์นดํ…Œ๊ณ ๋ฆฌ ๋ฆฌ์ŠคํŠธ ํ•ญ๋ชฉ์„ ๋œจ๊ฒŒํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ์ด์ „์— ๋ฐฐ์› ๋˜ ๊ธฐ๋Šฅ์ด๋ผ ์ž˜ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ, ์•„์ง redux๋„ ์ต์ˆ™์น˜์•Š์ง€๋งŒ ๋ฐฐ์› ๋˜ ๋Œ€๋กœ ์“ฐ๋‹ˆ ์ž˜ ๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ !! ๋‚˜๋Š” ์„ ํƒ๋œ ํ•ด๋‹น ํƒœ๊ทธ (์—ฌ๊ธฐ์„œ Tab) ์˜ textContent (ํƒœ๊ทธ์‚ฌ์ด ํ…์ŠคํŠธ) ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธธ ์›์น˜์•Š์•˜๊ณ  (๋ฐฐ์šด ๋‚ด์šฉ์—์„œ๋Š” ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์„ ํƒํ•˜๋ฉด, ํด๋ฆญ์ด๋ฒคํŠธ๋กœ - event.target.textContent๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹์ด์—ˆ๋‹ค) ์„ ํƒ๋œ ํƒœ๊ทธ์˜ className์œผ๋กœ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์—ˆ๋‹ค. const Header = () => { const activeCategory = useSelector((state) => state.catego..