728x90
๋ฐ˜์‘ํ˜•

Hook 3

React] Hook : useReducer

useReducer ๋‹จ์ˆœํžˆ state ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, state๋ฅผ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•œ ๋กœ์ง, ํ•จ์ˆ˜ ๋“ฑ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋Ÿด ๋•Œ useReducer๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ด€๋ฆฌ์— ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•ด state๋ฅผ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ํ•จ์ˆ˜๋“ค์„ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค. const [state, dispatch] = useReducer(reducer, initialState); ํ•˜๋‚˜์˜ state์— dispatch๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ๋ณ€ํ™˜ํ•ด ์ค๋‹ˆ๋‹ค. (dispatch๊ฐ€ setState์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ๋ณด๋ฉด ๋  ๋“ฏ์‹ถ์Šต๋‹ˆ๋‹ค.) state : ์ปดํฌ๋„ŒํŠธ์—์„œ์˜ state dispatch: action์„ ๋ฐœ์ƒํ•˜๋Š” ํ•จ์ˆ˜ (setState์™€ ๋น„์Šท) reducer : reducer ์ •์˜ initialState : ์ดˆ๊ธฐ..

Front-End/React 2023.06.22

React] Hook

Hook React์—์„œ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉ ์‹œ, state์™€ ๋‹ค๋ฅธ React ๊ธฐ๋Šฅ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์คŒ. ์ฃผ์˜ ์‚ฌํ•ญ Hook์€ ์ตœ์ƒ์œ„, ํ•จ์ˆ˜์˜ ์ œ์ผ ๋ฐ”๋‹ฅ์—์„œ๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๋ฐ˜๋ชฉ๋ฌธ, ์กฐ๊ฑด๋ฌธ, Hook ๋‚ด๋ถ€ ๋“ฑ์—์„œ ํ˜ธ์ถœํ•˜๋ฉด ์•ˆ ๋œ๋‹ค. Hook์€ React ํ•จ์ˆ˜ ๋‚ด์—์„œ ์‚ฌ์šฉ Custom Hook์—์„œ Hook์„ ํ˜ธ์ถœํ•  ๊ฒƒ Hook์€ ํ˜ธ์ถœ๋˜๋Š” ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•˜๋‹ค. React์—์„œ ์ œ๊ณตํ•ด ์ฃผ๋Š” ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ๋“ค? ํ•จ์ˆ˜๋“ค?๋กœ ๋ณด๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Front-End/React 2023.06.20

React] Hook : useState

useState Component๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ƒํƒœ๊ฐ’์œผ๋กœ ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์—์„œ์˜ ๋™์  ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ํ”ํžˆ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ณ€์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด๋˜์ง€๋งŒ, ์•„๋ž˜์™€๊ฐ™์€ ํŠน์ง•์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€์ˆ˜๋ž‘์€ ๋Š๋‚Œ๋งŒ ๊ฐ™์ง€ ๋งŽ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. const [๋ณ€์ˆ˜์ด๋ฆ„, set๋ณ€์ˆ˜์ด๋ฆ„] = useState(์ดˆ๊ธฐ๊ฐ’); set๋ณ€์ˆ˜์ด๋ฆ„์€ ๋‹ค๋ฅธ ์ด๋ฆ„์„ ๋„ฃ์–ด๋„ ๋˜๊ณ , ์„ ์–ธํ•˜์ง€ ์•Š์•„๋„ ์ƒ๊ด€์—†์Šต๋‹ˆ๋‹ค. ๋ณ€์ˆ˜์— ๊ฐ’์„ ์ง์ ‘ ๋Œ€์ž…ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, set์„ ํ†ตํ•ด ๊ฐ’์„ ๋Œ€์ž…ํ•ด์ค๋‹ˆ๋‹ค. state๊ฐ’์ด ๋ณ€ํ•˜๊ฒŒ ๋˜๋ฉด UI๊ฐ€ ๋ฆฌ๋ Œ๋”๋ง ๋œ๋‹ค. useState๋Š” ๋น„๋™๊ธฐ๋กœ ๋™์ž‘ํ•œ๋‹ค. ์˜ˆ HTML ์‚ฝ์ž… ๋ฏธ๋ฆฌ๋ณด๊ธฐํ•  ์ˆ˜ ์—†๋Š” ์†Œ์Šค inputํƒœ๊ทธ์˜ ๊ฐ’์„ ์ž…๋ ฅํ•ด ์ฃผ๋ฉด์„œ content๋ผ๋Š” state๊ฐ’์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ž‘์„ฑํ•˜์˜€๋‹ค. content์„ ์–ธํ•  ๋•Œ๋Š” "" ๋นˆ๋ฌธ์ž์—ด๋กœ ์ดˆ๊ธฐ๊ฐ’์„ ์„ค์ •ํ•ด..

Front-End/React 2023.06.06
728x90
๋ฐ˜์‘ํ˜•