반응 응용 프로그램은 종종 큰 데이터 세트 및 복잡한 구성 요소를 다루며 불필요한 재 렌즈가 성능에 크게 영향을 줄 수 있습니다. 이를 해결하기 위해 React는 부품을 최적화하고 렌더링 시간을 줄이는 간단하지만 강력한 도구 인 React.Memo를 제공합니다. 이 안내서에서는 반응 메모의 작동 방식, 유용한 이유 및 단계별로 구현하는 방법을 살펴 보겠습니다.
React 메모 란 무엇입니까?
React.Memo는 기능적 구성 요소를 추억화하는 데 도움이되는 React의 고차원 구성 요소 (HOC)입니다. 메모 삽입은 입력을 기반으로 함수의 출력을 캐싱하는 프로세스이므로 함수는 동일한 입력에 대해 결과를 다시 작성할 필요가 없습니다. React Memo는 비슷하게 작동합니다. 구성 요소의 마지막 렌더링 출력을 "기억하고 소품이 변경 될 때만 다시 렌더링합니다.
왜 메모에 반응합니까?
RECT의 구성 요소는 부모 구성 요소가 다시 렌더링 될 때마다 재 렌더링됩니다. 구성 요소의 출력이 부모의 변경에 의존하지 않으면 비 효율성이 발생할 수 있습니다. 예를 들어, 많은 구성 요소가있는 복잡한 UI에서는 과도한 재 렌즈로 인해 지연이 나타날 수 있습니다. React 메모를 사용하면 필요한 경우 구성 요소 만 업데이트하여이를 최적화 할 수 있습니다.
문제가 반응 메모 해결
1. 불필요한 재 렌즈
부모 구성 요소가 다시 렌더링되면 자식 구성 요소도 다시 렌더링됩니다. 이로 인해 성능 병목 현상이 발생할 수 있습니다. 특히 구성 요소가 정적 데이터를 표시하거나 변하지 않는 소품에 의존 할 때
2. 복잡한 UIS에서 느리거나 느린 성능
깊게 중첩 된 구성 요소가있는 응용 프로그램은 누적 리 렌더로 인해 느린 성능에 직면 할 수 있습니다. REACT 메모와 함께 Memoization은 업데이트가 필요하지 않은 구성 요소의 렌즈를 방지하여 앱의 응답 성을 향상시키는 데 도움이됩니다.
반응 메모 작동 방식 : 단계별 예
React 메모의 기본 구현을 살펴 보겠습니다. 우리는 메모 삽입을 사용하지 않는 간단한 구성 요소부터 시작하여 React 메모를 추가하는 방법을 확인합니다.
1 단계 : React 메모없이 간단한 카운터 구성 요소 설정
import Rect, {usestate} 'react';
함수 카운터 ({count}) {
Console.log ( '카운터 구성 요소 재 렌더링');
반환
React Memo는 특정 시나리오에서 유용하지만 모든 곳에서 사용하면 실제 이점을 추가하지 않고도 코드를 복잡하게 할 수 있습니다. 다음은 특히 효과적 일 수있는 몇 가지 주요 상황입니다.
정적 구성 요소
: 헤더 나 바닥 글과 같이 자주 변하지 않는 구성 요소.
순수한 기능 구성 요소 : 렌더링을위한 소품에만 의존하는 구성 요소.
큰 구성 요소 목록
: 불필요한 재 렌더를 피해야하는 많은 항목이있는 목록.
잠재적 인 함정과 모범 사례
얕은 비교 : React 메모는 얕은 비교를 수행하므로 깊게 중첩 된 물체 나 배열의 변화를 감지하지 못합니다. 복잡한 소품을 통과하는 경우 USEMEMO 또는 USECALLBACK 사용을 고려하십시오.
Performance Monitoring : React DevTools를 사용하여 실제로 메모리에 어떤 구성 요소가 혜택을 받는지 식별하십시오. 반응 메모를 과도하게 사용하면 무시할만한 성능 이득으로 코드 복잡성을 초래할 수 있습니다.
자주 묻는 질문 (FAQ)
Q1 : React 메모는 Usememo 및 Usecallback과 어떻게 다릅니 까?
반응 메모
소품을 기반으로 구성 요소 리 렌더를 최적화합니다.
USEMEMO
구성 요소 내에서 계산 된 값을 캐시합니다.
USECALLBACK
기능은 함수를 캐시하여 모든 렌더링에서 재현되지 않습니다.
Q2 : 클래스 구성 요소와 함께 React 메모를 사용할 수 있습니까?
아니요, 반응 메모는 기능 구성 요소에만 해당됩니다. 그러나 클래스 구성 요소의 경우 PureComponent로 유사한 동작을 달성 할 수 있습니다.
결론
React Memo는 불필요한 재 렌즈를 줄이고 응용 프로그램 성능을 향상시키는 귀중한 도구입니다. 순수한 기능 구성 요소 또는 정적 UI 요소에서 선택적으로 사용하면 구조를 복잡하게하지 않고 React 앱을 최적화 할 수 있습니다. 다음 단계를 따르고, 예제를 시도하고, 실험을 계속하여 프로젝트에 가장 적합한 메모 화 전략을 찾으십시오!
릴리스 선언문
이 기사는 https://dev.to/chintanonweb/say-goodbye-tonnecessary-re-renders-with-react-memo-step-stutorial-551j?1에서 재판을 재 인쇄합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오.
최대한 빨리 처리해 드리겠습니다.