Open utterances-bot opened 1 year ago
const [color, setColor] = useState("");
const [drink, setDrink] = useState("");
이게 컴포넌트에 안에 선언되있다는게 컴포넌트가 두 개의 state 를 가지고 있는거고, '3. 컴포넌트는 자신의 state가 변경되면 리렌더링 된다' 에 의해 color(state 중 하나가 바뀐 것..?)의 값만 바뀌어도 리렌더링 돼서 로그의 결과로 getColorKor와 getDrinkKor 둘 다 찍히는 것인가요~?
@njh0317
두 state 중 하나만 바뀌어도 컴포넌트는 리렌더링하게 됩니다. 컴포넌트가 리렌더링하면 함수와 변수들이 모두 재선언되기 때문에, colorKor
와 drinkKor
를 다시 계산하게 되면서 getColorKor
와 getDrinkKor
가 호출되게 되는 거에요!
@woong-jae 하나만 바뀌어도 리렌더링되다니,,참,, 신기하고 복잡한 아이네요..
[React] useMemo, useCallback | 햣 블로그
woong-jae의 기술 블로그
https://woong-jae.com/react/210826-useMemo-useCallback