inflearn logo
강의

講義

知識共有

一口サイズでかじり取るReact.js:基礎から実践まで

10.2) useMemoと演算の最適化

useMemo와 useEffect 차이

835

tmdwo70176647

投稿した質問数 2

1

useMemo 강의 잘 듣고 있습니다.
그런데, useMemo(() => {
//생략
}, [data.length]); 한 것과
 
useEffect(() => {
//생략
}, [data.length]); 한 것과 차이가 있을까요?
 
제가 생각했을때는 둘이 같이 작동할 것 같은데.. 어떻나요?

nodejs javascript react

回答 2

1

bbangda

  • useEffect는 side effects를 다루기 위해 사용되며, 특히 컴포넌트 라이프사이클 동안 특정 동작을 수행합니다.

     

  • useMemo는 값의 메모이제이션을 위해 사용되며, 특히 불필요한 계산을 피하기 위해 캐시된 값을 사용합니다.

  • useEffect는 특정 상태나 프롭이 변경될 때 실행되도록 의존성 배열을 사용합니다.

  • useMemo는 메모이제이션 함수의 의존성 배열을 통해 어떤 값이 변경될 때 메모이제이션 함수를 다시 실행할지를 결정합니다.

0

winterlood

안녕하세요 이정환입니다.

네 질문 주신 것 처럼 동일하게 동작합니다.

이는 useMemo의 설명을 위한 사례로 사용되었습니다.

0

e12402508

  1. 이 강의에서 예제로 들어주신부분을 useEffect로 디펜던시는 todos 를 사용하면 똑같이 동작하는데 굳이 useMemo를 써야하는 이유가 있을까요 ?

  2. 단지 값을 반환한다 는 부분때문인가요?

  3. 불필요한 연산을 최적화 하는 리액트 훅이라고 하셨는데 todos 가 변경됐을때에만 특정 연산을 수행하기 때문에 불 필요한 연산을 최적화 한다고 표현하신 건가요?

  4. 메모이제이션 기법을 기반으로라고 하셨는데 todos 가 변경됨에 따라 같은 로직이 수행되고 있는데 어떤 부분에서 메모이제이션이라고 볼수있나요? 혹시 메모이제이션이 동일한 계산을 반복해야 할 때라면, todos가 변경되어서 동일한 계산이 반복되지 않아 메모이제이션이라고 볼 수 있는 건가요 ?

질문이 많아서 죄송합니다 ㅠㅠ

 

useEffect와 lifecycle문의

0

26

2

프론트엔드 학습 수준 문의

0

37

2

리액트 챕터별 코드에서 eslint 설정파일이 없어요

0

48

2

데이터 로딩중 화면만 계속 나와요!!

0

55

2

퍼블리셔일경우 어느정도 수준까지 강의를 들어야할까요

0

79

2

이후의 커리큘럼 문의

0

102

2

실슬환경 설정에서 save후 console.log 부분이 새로고침이 안되는현상입니다.

0

50

2

최적화 관련 질문있습니다 (useMemo 등)

0

84

3

프로바이더 컴포넌트의 위치는 어떤 기준인가요?

1

82

3

Date 객체에 관련하여 질문드립니다.

0

85

2

리액트 개정판 교재 질문

0

60

2

예제코드가 안나와요!

0

78

2

select a variant 선택에서 javascript와 javascript+react compiler 중 무엇을 선택해야하나요? com

0

108

2

onMouseEnter 관련 문의 드립니다

0

92

3

배열의 렌더링 관련 질문 드립니다.

0

73

2

2:40초 refObj를 콘솔로 출력시 오류가 발생합니다.

0

112

2

TS, 리액트 강의중에 뭘 먼저 수강하는게 좋을까요?

0

136

2

useCallback 적용한 onCreate, onUpdate, onDelete 함수..

0

69

1

vs code 자동완성관련 문의

0

113

2

91강 useEffect내에서 상태변화함수 호출시 발생하는 에러

1

178

2

87강 필터 함수 질문

0

69

2

useRef, useState count 비교

0

67

2

안된다고했던 이유가 무엇이었는지 모르겠습니다

0

90

2

85강에서 객체를 왜 클래스로 만들어서 new 하지 않는건지 궁금합니다.

0

75

2