React 2주차 Quiz
-
Q1. 컴포넌트 A는 리덕스 스토어를 구독하고 있습니다. 리덕스에 저장된 데이터가 변경되었을 때(A가 구독 중인 값이 변경되었다고 가정합니다. 어떤 과정을 거쳐 컴포넌트 A가 변경된 값을 가져올 수 있는 지 흐름을 그려볼까요? (메모장, 사진 등)
-
Q2. 리액트 개발 시, 렌더링 최적화 방법에 이용할 수 있는 다음 세 가지의 특징과 차별점을 각각 말씀해주세요.
- React.memo
- useCallback
-
useMemo
- React.memo
- 특징: React.memo는 함수형 컴포넌트의 렌더링을 최적화하는 방법 중 하나이다. 이전에 렌더링한 결과를 메모이제이션(Memoization)하여, 같은 props가 전달될 경우 렌더링을 다시 하지 않고 이전에 렌더링한 결과를 재사용한다.
-
차별점: React.memo는 props가 변경되지 않으면 렌더링을 다시 하지 않으므로, 렌더링이 자주 발생하는 컴포넌트의 경우 사용하면 성능 향상에 큰 도움이 된다.
- useCallback
- 특징: useCallback은 함수형 컴포넌트 내부에서 생성된 함수를 메모이제이션하여, 같은 함수가 중복 생성되지 않도록 한다. 이전에 생성한 함수를 재사용함으로써, 불필요한 렌더링을 방지하고 성능을 최적화할 수 있다.
-
차별점: useCallback은 같은 함수가 중복 생성되는 것을 방지하므로, 자주 변경되지 않는 함수나 자식 컴포넌트에 props로 전달되는 함수에 사용하면 성능 향상에 큰 도움이 된다.
- useMemo
- 특징: useMemo는 계산 비용이 높은(Paint) 함수나 연산 결과를 메모이제이션하여, 같은 계산이 중복되지 않도록 한다. 이전에 계산한 결과를 재사용함으로써, 불필요한 계산을 방지하고 성능을 최적화할 수 있습니다.
- 차별점: useMemo는 계산 비용이 높은 함수나 연산 결과를 메모이제이션하여 사용하므로, 매번 렌더링될 때마다 계산이 수행되는 것을 방지하고 성능을 향상시킬 수 있다. 따라서, 특히 계산이 복잡한 컴포넌트에서 사용하면 성능 향상에 큰 도움이 된다.
-
Q3. <form>을 사용할 때,
댓글남기기