๐Book3 [๋ชจ๋ ๋ฆฌ์กํธ Deep Dive] 03์ฅ ๋ฆฌ์กํธ ํ ๊น๊ฒ ์ดํด๋ณด๊ธฐ ๋ฆฌ์กํธ๋ก ๊ฐ๋ฐํ๋ฉด์ ํ ์ ํญ์ ์ฌ์ฉํ๋๋ฐ, ์ ํํ ์ด ํ ์ด ์ด๋ค ์๋ฏธ์ด๊ณ ์ ์ด๋ ๊ฒ ์ฌ์ฉํ๋์ง์ ๋ํด ์ ๋ชจ๋ฅด๋ ๊ฒ ๊ฐ์์ ํ๋ฒ ๋ชจ๋ ๋ฆฌ์กํธ Deep Dive์ ์๋ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค.ํ (hook)์ด ๋ญ๋?ํด๋์คํ ์ปดํฌ๋ํธ์์๋ง ํ ์ ์์๋ ์ํ ๊ด๋ฆฌ์ ๋ผ์ดํ์ฌ์ดํด(์๋ช ์ฃผ๊ธฐ) ๋ฉ์๋๋ฅผ ํจ์ํ ์ปดํฌ๋ํธ์์๋ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ํจ์์ฃ . ๋ํ์ ์ธ ํ ์ ๋ํด ์์๋ด ์๋ค. 1.useStateํจ์ ์ปดํฌ๋ํธ ๋ด๋ถ์์ ์ํ๋ฅผ ์ ์ํ๊ณ , ์ด ์ํ๋ฅผ ๊ด๋ฆฌํ ์ ์๋๋ก ํด์ฃผ๋ ํ ์ด๋ค.import {useState} from 'react';const [state, setState] = useState(initialState); ๋ฆฌ์กํธ๋ useState๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ํจ์ ๋ด๋ถ์์ ์์ฒด์ ์ผ๋ก ๋ณ์๋ฅผ ์ฌ์ฉํด ์ํ๊ฐ.. 2025. 1. 18. [๋ชจ๋ ๋ฆฌ์กํธ Deep Dive] 2.4 ๋ ๋๋ง์ ์ด๋ป๊ฒ ์ผ์ด๋๋๊ฐ? ๋ฆฌ์กํธ์ ๋ ๋๋ง์ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ ๋๋ง์ ํ์ํ DOM ํธ๋ฆฌ๋ฅผ ๋ง๋๋ ๊ณผ์ ์ ์๋ฏธํ๋ค.์ด ๋ ๋๋ง ๊ณผ์ ์ ์๊ฐ๊ณผ ๋ฆฌ์์ค๋ฅผ ์๋นํด ์ํ๋๋ ๊ณผ์ ์ผ๋ก, ์ด ๋น์ฉ์ ์ฌ์ฉ์์๊ฒ ์ฒญ๊ตฌ๋๋ฉฐ ์๊ฐ์ด ๊ธธ์ด์ง๊ณ ๋ณต์กํด์ง์๋ก ์ ์ ์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ํดํ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ๋ ๋๋ง ๊ณผ์ ์ ์ต์ํ์ผ๋ก ์ค์ฌ์ผ ํ๋ค. 2.4.1 ๋ฆฌ์กํธ์ ๋ ๋๋ง์ด๋?๋ฆฌ์กํธ์์์ ๋ ๋๋ง์ด๋ ๋ฆฌ์กํธ ์ ํ๋ฆฌ์ผ์ด์ ํธ๋ฆฌ ์์ ์๋ ๋ชจ๋ ์ปดํฌ๋ํธ๋ค์ด ํ์ฌ ์์ ๋ค์ด ๊ฐ์ง๊ณ ์๋ props์ state์ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ป๊ฒ UI๋ฅผ ๊ตฌ์ฑํ๊ณ ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ด๋ค DOM ๊ฒฐ๊ณผ๋ฅผ ๋ธ๋ผ์ฐ์ ์ ์ ๊ณตํ ๊ฒ์ธ์ง ๊ณ์ฐํ๋ ์ผ๋ จ์ ๊ณผ์ ์ ์๋ฏธํ๋ค. 2.4.2 ๋ฆฌ์กํธ์ ๋ ๋๋ง์ด ์ผ์ด๋๋ ์ด์ 1.์ต์ด ๋ ๋๋ง : ์ฒ์ ์ง์ ํ๋ฉด ๋ ๋๋งํด์ผ ํ ๊ฒฐ๊ณผ๋ฌผ์ด ํ์ํ๋ค. ๋ฆฌ์กํธ๋ ๋ธ๋ผ์ฐ์ ์ ์ด ์ ๋ณด๋ฅผ.. 2025. 1. 17. [๋ชจ๋ ๋ฆฌ์กํธ Deep Dive] 05์ฅ ๋ฆฌ์กํธ์ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ 5.2 ๋ฆฌ์กํธ ํ ์ผ๋ก ์์ํ๋ ์ํ ๊ด๋ฆฌ5.2.1 ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ: useState์ useReduceruseState์ useReducer๋ ์ง์ญ ์ํ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ ํ ์ด๋ค.ํ์ง๋ง ์ด ์ง์ญ ์ํ๋ ํด๋น ์ปดํฌ๋ํธ ๋ด์์๋ง ์ ํจํ๋ค๋ ํ๊ณ๊ฐ ์๋ค. ๊ทธ๋ผ ์ฌ๋ฌ ์ปดํฌ๋ํธ๊ฐ ๋์์ ์ฌ์ฉํ ์ ์๋๋ก ์ ์ญ ์ํ๋ฅผ ๋ง๋ค์ด ์ปดํฌ๋ํธ๊ฐ ์ฌ์ฉํ๋ ๋ชจ๋ ํ ์ด ๋์ผํ ๊ฐ์ ์ฐธ์กฐํ๊ฒํ๋ฉด ๋๋ค.๊ทธ๋ฆฌ๊ณ ์ํ๊ฐ ์ ๋ฐ์ดํธ๋์ ๋ ์ด๋ฅผ ์ปดํฌ๋ํธ์ ๋ฐ์์ํค๊ธฐ ์ํ ๋ฆฌ๋ ๋๋ง์ด ํ์ํ๋ค. ์์ ๊ฐ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ ์ญ ์ํ ๊ด๋ฆฌ๋ฅผ ํ๊ธฐ ์ํด store๋ฅผ ์ ์ํด๋ณด๊ฒ ๋ค.store๋ ๊ฐ์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ๋ณ๊ฒฝ๋์์ ์๋ฆฌ๋ callback ํจ์๋ฅผ ์คํํด์ผ ํ๊ณ , ์ด callback์ ๋ฑ๋กํ ์ ์๋ subscribe ํจ์๊ฐ ํ์ํ๋ค. 5... 2024. 7. 2. ์ด์ 1 ๋ค์