๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“‘Library5

๋ฆฌ์•กํŠธ ์ฟผ๋ฆฌ ์ฟผ๋ฆฌํ‚ค๋ฅผ ์ด์šฉํ•œ ๊ฒ€์ƒ‰, ์นดํ…Œ๊ณ ๋ฆฌ ๊ธฐ๋Šฅ, ๋‹ค์ค‘ ํ•„ํ„ฐ ๐Ÿธ : ์ด ๊ธ€์€ ์•„๋ž˜ ๊ทธ๋ฆผ์˜ ๋นจ๊ฐ„ ๋„ค๋ชจ ๋ถ€๋ถ„๊ณผ ๊ฐ™์€ ์ƒ๋‹จ nav๋ฐ”, ์นดํ…Œ๊ณ ๋ฆฌ๋‚˜, ๊ฒ€์ƒ‰๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฆฌ์•กํŠธ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ ๊ธฐ๋ก์ด๋‹ค. ๐Ÿ“Œ ์ด๊ธ€์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์•Œ์•„์•ผํ•  ๊ฒƒ๋“ค 1. react๋ฅผ ํ•  ์ค„ ์•Œ์•„์•ผํ•ด์š” 2. react-query๋ฅผ ์‚ฌ์šฉํ•ด์—ฌ 3. axios๋ฅผ ์ด์šฉํ•œ ํ†ต์‹ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๊ฐ€์ •์ด์—์š” ์•„๋ž˜์™€ ๊ฐ™์ด useQuery์—์„œ querykey๋ฅผ ๋„ฃ๋Š” ๋ถ€๋ถ„์— ๋‘๋ฒˆ์งธ ์ธ์ž๋ถ€ํ„ฐ ๊ฐ’์„ ๋„˜๊ฒจ์„œ querykey์•ˆ์— ์žˆ๋Š” ์ •๋ณด๋ฅผ ๊บผ๋‚ด ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์„ ํ†ตํ•ด ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค. // src/components/main const [currentCategory, setCurrentCategory] = useState(""); const [searchInput, setSearchInput] = useSt.. 2023. 3. 29.
ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ์™€ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์˜ ์ฐจ์ด ๐Ÿ“‘ ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ์™€ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ ๋ฌผ๋ก  ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ์™€ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋Š” ํ•˜๋Š” ์ผ์€ ๋™์ผํ•˜์ง€๋งŒ, ์ฝ”๋“œ ๊ตฌ์กฐ์—์„œ ์•ฝ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ์žˆ์œผ๋ฉฐ ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ๋Š” ๋ผ์ดํ”„ ์‚ฌ์ดํด ๊ธฐ๋Šฅ๊ณผ state ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์ด ์ฝ”๋“œ์— ๊ตฌํ˜„๋˜๋ฉฐ, ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋Š” hook ์„ ํ†ตํ•ด ๋ผ์ดํ”„ ์‚ฌ์ดํด ๊ธฐ๋Šฅ๊ณผ state ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ์ฝ”๋“œ๋ฅผ ์งค ์ˆ˜ ์žˆ๋‹ค. ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋Š” ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ๋ณด๋‹ค ์„ ์–ธํ•˜๊ธฐ ์ข€ ๋” ํŽธํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ ์ž์›์„ ๋œ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ๊ณผ๊ฑฐ, ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋Š” state ์™€ ๋ผ์ดํ”„ ์‚ฌ์ดํด API ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์—ˆ์ง€๋งŒ ํ˜„์žฌ, ํ›…์— ์˜ํ•ด ์ด ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค. // ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ class App extends Component { state = { count: 0 } increase = ().. 2022. 12. 9.
React๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ๐Ÿ™‹๐Ÿป‍โ™‚๏ธํ”„๋ก ํŠธ์—”๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ ํ”„๋ก ํŠธ์•ค๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋“ฑ์žฅํ•˜๊ฒŒ ๋œ ์ด์œ ๋Š” ๋™์ ์ธ ์›น ํŽ˜์ด์ง€๋ฅผ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ์œ ์ง€ ๋ณด์ˆ˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. ์ •์  ์›น ํŽ˜์ด์ง€ ์›น ์„œ๋ฒ„์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” HTML ๋ฌธ์„œ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌํ•˜์—ฌ ๋ฐ›์€ ํŽ˜์ด์ง€. ๋‹จ์ˆœํžˆ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋กœ๊ทธ์ธ์„ ํ•œ๋‹ค๊ฑฐ๋‚˜ ๋ญ”๊ฐ€ ์ •๋ณด๋ฅผ ๋ณด๋‚ธ๋‹ค๊ฑฐ๋‚˜ ํ•˜๋Š” ์ƒํ˜ธ์ž‘์šฉ์€ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ์š”์†Œ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์„œ๋ฒ„์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ํ•œ ๊ณ ์ •๋œ ์›น ํŽ˜์ด์ง€๋ฅผ ๋ณด๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—” ๋‹จ์ˆœํžˆ HTML๊ณผ CSS์˜ ๊ตฌ์„ฑ๋งŒ์œผ๋กœ๋„ ์›น ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. Ex) ํ™ˆํŽ˜์ด์ง€์— ํšŒ์‚ฌ์†Œ๊ฐœ, ์Œ์‹๋ฉ”๋‰ด, ํฌํŠธํด๋ฆฌ์˜ค ๋“ฑ ๋‚ด์šฉ์ด ๋ณ€ํ•˜์ง€ ์•Š๊ณ  ๊ณ ์ •์ ์ธ ํŽ˜์ด์ง€. ๋™์  ์›น ํŽ˜์ด์ง€ ์š”์ฒญ ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•œ ํ›„์— ์ œ์ž‘๋œ HTML .. 2022. 12. 9.
Redux(๋ฆฌ๋•์Šค)๋ž€? Redux(๋ฆฌ๋•์Šค)๋ž€? ๋ฆฌ๋•์Šค๋ž€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์šฐ์„  ๋ฆฌ๋•์Šค๋Š” ๋ฆฌ์•กํŠธ ๋‚ด๋ถ€์— ์žˆ๋Š” ๊ธฐ์ˆ ์ด ์•„๋‹ˆ๋ฉฐ ์ˆœ์ˆ˜ HTML, JAVASCRIPT ๋‚ด์—์„œ๋„ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ปดํฌ๋„ŒํŠธ์— ์ง‘์ค‘๋œ ๋ฆฌ์•กํŠธ์™€ ์‹œ๋„ˆ์ง€๊ฐ€ ์ข‹์œผ๋‹ˆ ๋Œ€์ฒด์ ์œผ๋กœ ๋ฆฌ์•กํŠธ์— ๋ฆฌ๋•์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋ฟ์ด๋‹ค. Redux์˜ ๊ธฐ๋ณธ ๊ฐœ๋… : ์„ธ ๊ฐ€์ง€ ์›์น™ Single source of truth ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋Š” ํ•ญ์ƒ ๊ฐ™์€ ๊ณณ์—์„œ ๊ฐ€์ง€๊ณ  ์˜จ๋‹ค. ์ฆ‰, ์Šคํ† ์–ด๋ผ๋Š” ํ•˜๋‚˜๋ฟ์ธ ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์ด ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. State is read-only ๋ฆฌ์•กํŠธ์—์„œ๋Š” setState ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•ด์•ผ๋งŒ ์ƒํƒœ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ฆฌ๋•์Šค์—์„œ๋„ ์•ก์…˜์ด๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. Changes are made with pure functions ๋ณ€๊ฒฝ์€ ์ˆœ์ˆ˜ํ•จ์ˆ˜๋กœ๋งŒ .. 2022. 12. 8.