<aside> ๐Ÿงท const [state,dispatch] = useReducer(reducer, initialArgs, init?)

</aside>

: ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ(ํ•จ์ˆ˜)์— ์—ฌ๋Ÿฌ ์ƒํƒœ ์—…๋ฐ์ดํŠธ ํ•จ์ˆ˜ ์‹คํ–‰ ์ฝ”๋“œ๊ฐ€ ๋ถ„์‚ฐ๋œ ์ปดํฌ๋„ŒํŠธ๋Š” ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— ์™ธ๋ถ€์˜ ๋ชจ๋“  ์ƒํƒœ ์—…๋ฐ์ดํŠธ ๋กœ์ง์„ reducer ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌ


 const [state, dispatch] = useReducer(reducer, { age: 42 });

parameters

reducer ํ•จ์ˆ˜

state๊ฐ€ ์–ด๋–ป๊ฒŒ ์—…๋ฐ์ดํŠธ ๋˜๋Š”์ง€ ์ง€์ •ํ•˜๋Š” ํ•จ์ˆ˜ state,action์„ ์ธ์ˆ˜๋กœ ๋ฐ›์•„ state๋ฅผ ๋ฐ˜ํ™˜ํ•จ

initialArgs

์ดˆ๊ธฐ state๊ฐ€ ๊ณ„์‚ฐ๋˜๋Š” ๊ฐ’

๋ชจ๋“  ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ํ• ๋‹น๋  ์ˆ˜ ์žˆ์Œ

init?

์ดˆ๊ธฐ state๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ดˆ๊ธฐํ™” ํ•จ์ˆ˜

์—†์œผ๋ฉด initialArg๊ฐ€ ์ดˆ๊ธฐ state ์žˆ์œผ๋ฉด init(initialArgs)๋ฅผ ํ˜ธ์ถœํ•œ ๊ฒฐ๊ณผ๊ฐ’

returns

state.

ํ˜„์žฌ state. ์ตœ์ดˆ์˜ ๋ Œ๋”๋ง์€ init(initial Args)๋กœ ์„ค์ •

dispatch

dispatch ํ•จ์ˆ˜๋Š” ์–ด๋–ค ๊ฐ’๋„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์Œ

function handleClick() {
  dispatch({ type: 'incremented_age' });