๐ ๊ณต์๋ฌธ์์ ๋ฐ๋ฅด๋ฉด, useState์ ๋์ฒด ํจ์๋ผ๊ณ ๋์์๋ค.
์ฆ, state(์ํ)๋ฅผ ๊ด๋ฆฌํ๊ณ ์ ๋ฐ์ดํธํ ์ ์๋ Hook์ด๋ค.
โจ๊ทธ๋ ๋ค๋ฉด, useState์์ ๋ค๋ฅธ์ ์?
ํ ์ปดํฌ๋ํธ ๋ด์์ state๋ฅผ ์ ๋ฐ์ดํธ ํ๋ ๋ก์ง ๋ถ๋ถ์ ๊ทธ ์ปดํฌ๋ํธ๋ก๋ถํฐ ๋ถ๋ฆฌ์ํค๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
โ ๊ธฐ๋ณธ ์ฝ๋ ๊ตฌ์กฐ
const [state, dispatch] = useReducer(reducer, initialArg, init(option));
dispatch({type:__ });
const reducer = (state, action) => {
switch(action.type){
case __:
return __;
case __:
return __;
default:
return __;
}
};
๐reducer
๊ฐ์ฒด๋ฅผ ์๋กญ๊ฒ ๋ง๋ค์ด ๋๊ฐ ๋ก์ง์ ์์ฑํ ํจ์๋ฅผ ์ ๋ฌํด์ค๋ค.
๐dispatch
reducer๋ฅผ ํธ์ถํ๋ค.
useState์์์ set์ฒ๋ผ dispatch๋ฅผ ์ด์ฉํ์ฌ ์ํ๋ action์ ๋ช ๋ นํ ์ ์๋ค.