React에서 렌더링(rendering)은 컴포넌트가 UI를 화면에 그리는 과정을 의미한다. React는 변경된 상태에 따라UI를 효율적으로 업데이트하는 라이브러리로, 렌더링 과정은 react의 핵심 기능 중 하나이다.
초기 렌더링(Initial Rendering):
render 메서드(함수형 컴포넌트에서는 return 문)가 호출되고, JSX를 사용해 정의된 UI가 실제 DOM으로 변환된다.재렌더링(Re-rendering):
render 메서드를 호출한다.React는 기본적으로 상태나 props가 변경되면 컴포넌트를 재렌더링하지만, 불필요한 재렌더링을 방지하기 위해 몇 가지 최적화기법을 제공한다.
1. shouldComponentUpdate (클래스형 컴포넌트):
2 React.memo (함수형 컴포넌트):
React.memo는 컴포넌트를 감싸는 고차 컴포넌트(HOC)로, 이전과 다음 props를 비교하여 변경이 없으면 렌더링을 건너뛴다.const MyComponent = React.memo(function MyComponent(props) {
// 컴포넌트 내용
});
3 useCallback 및 useMemo:
useCallback: 함수형 컴포넌트에서 함수를 메모이제이션하여, 의존성 배열이 변경되지 않으면 함수가 재생성되지 않도록 한다.useMemo: 복잡한 계산의 결과를 메모이제이션하여, 의존성 배열이 변경되지 않으면 재계산을 피한다.const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
4 key 속성:
key 속성은 React가 어떤 항목이 변경되었는지, 추가되었는지, 또는 제거되었는지를 식별하는 데 사용된다.key를 제공하면 React가 요소를 효율적으로 업데이트할 수 있다.React의 렌더링은 컴포넌트가 UI를 그리는 과정으로, Virtual DOM을 활용하여 효율적으로 수행된다. 상태와 props가 변경될 때 자동으로 UI를 업데이트하지만, 불필요한 재렌더링을 방지하기 위한 최적화 기법을 제공하여 성능을 향상시킬 수 있다.