인프런 커뮤니티 질문&답변
useMemo 사용 중에 질문이 있습니다.
작성
·
135
0
useCallback은 parameter 전달이 가능한 것으로 알고있습니다.
예를들면, const test = useCallback((param1, param2) => { … … }, [])
함수를 test(param1, param2); 이런 식으로요.. 그래서 굉장히 편리한데,
하지만 useMemo를 쓸 때에는 호출 방식이
const memoTest = useMemo(() => <View />, []); 의 경우
memoTest를 호출할 때에는 parameter를 전달할 길이 없는 것 같은데 맞나요?
Dependency array를 활용하는 방법밖에는 없는지 궁금합니다.
늘 좋은 강의 잘 듣고있습니다.
감사합니다.
답변 1
1
제로초(조현영)
지식공유자
useCallback는 원래 (param1, param2) => {} 함수를 감싼 것밖에 되지 않습니다. 처음부터 함수였으니까 당연히 매개변수를 가질 수 있고요. useMemo는 <View />를 메모이제이션하는 데 중점을 두고 있습니다. 즉 처음부터 리턴값을 캐싱하려고 쓰는 겁니다. 함수를 메모이제이션하고싶으시면 useMemo가 아니라 useCallback을 쓰셔야 합니다.




