Open cslim0527 opened 12 months ago
위 함수 같은 경우에는 특정 todo를 클릭한경우 해당 todo로 선택값을 변경해주는 역할을 합니다. 따라서, 간단하지만 빈번히 사용되는 함수로 보입니다.
그리고 useCallback은 함수 자체를 memoization 하여 최적화하는 것으로 알고있습니다, 그렇다면, 아래 두 가지 중 어떤것이 더 좋은지 궁금합니다!
1) //의존성 배열이 빈값이지만, useCallback을 써서 memoization 하는방법
const handleChangeSelectedTodo = useCallback((todo) => {
setSelectedTodo((prev) => todo);
}, []);
2) // useCallback 삭제
const handleChangeSelectedTodo = (todo) => {
setSelectedTodo((prev) => todo);
};
handleChangeSelectedTodo 함수는 매개변수로 todo 객체를 넘겨받아 사용하기 때문에 최초에 한번만 메모이제이션 하면 될것 같습니다. (1번 케이스)
useMemo, useCallback 훅은 두번째 인자로 의존성 배열을 사용합니다. 만약 의존성 배열을 할당하지 않는다면 memoization 하지 않습니다.