๋ฆฌ์•กํŠธ State Hook๊ณผ ์ƒํƒœ, ์ƒ๋ช…์ฃผ๊ธฐ
ยท
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/React & NextJS
๋“ค์–ด๊ฐ€๋ฉฐ์•ž์„œ ์†Œ๊ฐœํ–ˆ๋‹ค์‹œํ”ผ React๋Š” ์„ ์–ธํ˜•(Declarative UI) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ด๋Š” UI๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝํ• ์ง€๊ฐ€ ์•„๋‹ˆ๋ผ ์–ด๋–ค ๋ชจ์Šต์ผ์ง€๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๋ชจ์Šต์ผ์ง€์— ๋Œ€ํ•œ state๋งŒ ๊ด€๋ฆฌํ•˜๋ฉด React๊ฐ€ ์•Œ์•„์„œ ํ™”๋ฉด์„ ์—…๋ฐ์ดํŠธํ•ด์ค๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฆฌ์•กํŠธ ๊ฐœ๋ฐœํ•  ๋•Œ๋Š” UI Component์˜ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์กฐ์ž‘ํ•˜๋Š”๋ฐ ์˜จ ์‹ ๊ฒฝ์„ ์“ฐ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  React์˜ Hook์€ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ์—์„œ ์ƒํƒœ(state)์™€ ๋ผ์ดํ”„์‚ฌ์ดํด(lifecycle)์„ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. 1. useState – ์ƒํƒœ(State) ๊ด€๋ฆฌimport { useState } from "react";function Counter() { const [count, setCount] = useState(0); ..
React์™€ SPA ๊ทธ๋ฆฌ๊ณ  Component
ยท
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/React & NextJS
๋“ค์–ด๊ฐ€๋ฉฐ์ด์ œ๋Š” Front ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋Œ€์„ธ๊ฐ€ ๋˜์–ด๋ฒ„๋ฆฐ ๋ฉ”ํƒ€์˜ React.js์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ ์ˆ˜๋งŽ์€ ์„œ๋น„์Šค์—์„œ React๋ฅผ ๋„์ž…ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜๊ณผ ๊ฐ•๋ ฅํ•œ ์„ ์–ธํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ฐ–์ถ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ๋Š” DOM์„ ์ง์ ‘ ์กฐ์ž‘ํ•˜๊ณ  ๋‹ค๋ฃจ๋Š” javascript ๊ฐœ๋ฐœ ๋ฐฉ์‹๋„ ๋ฌด๋ฆฌ๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋ณต์žกํ•˜๊ณ  ํฐ ์‚ฌ์šฉ์ž UI ํ™˜๊ฒฝ์„ ๊ฐ–์ถ˜ ํ”„๋กœ์ ํŠธ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ํšจ์œจ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ UI ๊ฐœ๋ฐœ์„ ์ง€์›ํ•˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ(๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ณด๋‹ˆ React๊ฐ€ ๊ฝค๋‚˜ ์ฃผ๋ชฉ๋ฐ›์•˜์„ ๊ฑฐ๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. React๋งŒ์˜ ํŠน์ง•1. ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜Ui๋ฅผ ์ž‘์€ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์„œ ์ž‘์„ฑํ•œ๋‹ค๋Š” ๋ถ€๋ถ„์ด ํฐ ์žฅ์ ์ด ๋ฉ๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ UI๋ฅผ ์กฐ์ž‘ํ•˜๋‹ค๋ณด๋‹ˆ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ..