분류 Reactjs

React 앱의 6 가지 빠른 최적화 팁 (1)

컨텐츠 정보

  • 조회 252 (작성일 )

본문

불필요한 가져 오기 JSX에 임베드 함수 DOM 요소에서 스프레드 연산자 사용 번들 압축 메모 서버 사이드 렌더링


https://scotch.io/@raphaelugwu/6-quick-optimisation-tips-in-react-apps 


리액트 작동 방식 


jy1r4u3ammrrhzekj2f8.png 

위의 이미지는 React 앱을 사용할 때마다 어떤 일이 발생하는지 설명합니다. 간단히 말해서, 모든 React 애플리케이션은 루트 컴포넌트 (여기서는 App)로 시작하며 "하위"컴포넌트 (AddGrocery, GroceryList 및 SearchBar)로 구성됩니다. 이 자식 구성 요소는 속성과 상태에 따라 DOM에 UI를 렌더링하는 함수로 구성됩니다.


사용자는 양식을 채우거나 단추를 클릭하여 렌더링 된 UI와 다른 방식으로 상호 작용합니다. 이 경우 이벤트가 상위 구성 요소로 다시 중계 됩니다. 이러한 이벤트로 인해 애플리케이션 상태가 변경되어 가상 DOM에서 UI를 다시 렌더링 하라는 메시지가 표시됩니다.


다시 전송되는 모든 이벤트에 대해 React의 엔진은 가상 DOM을 실제 DOM과 비교하고 새로 발견 된 데이터로 실제 DOM을 업데이트해야 하는지 계산해야 합니다. 이제 앱이 가상과 실제 DOM 사이의 변경 사항을 반복적으로 비교하고 업데이트하여 반복적으로 반응하는 방식으로 앱을 구성하는 경우 문제가 발생합니다. 이로 인해 응용 프로그램이 매우 느리고 비효율적 일 수 있습니다.


일반적인 실수와 이를 피하는 방법 


다음은 개발자가 응용 프로그램을 작성할 때 수행하는 세 가지 좋지 않은 사례입니다. 이러한 실수로 인해 효율성이 떨어지고 페이지 로드 시간이 길어 지므로 최대한 많이 사용하지 마십시오.


불필요한 Imports 


응용 프로그램에서 전체 라이브러리를 가져올 때마다 필요한 모듈에 액세스하도록 구성이 해제됩니다. 하나 또는 두 개의 작은 라이브러리는 해를 끼치지 않지만 많은 라이브러리와 종속성을 가져올 때는 필요한 모듈 만 가져와야 합니다.


import assign from "101";
import Map from "immutable";

위의 코드는 전체 라이브러리를 가져오고 할당 및 맵에 액세스하기 위해 라이브러리를 구조화하기 시작합니다. 그렇게 하는 대신, "체리 피킹"이라는 개념을 사용하여 응용 프로그램에 필요한 부분 만 가져옵니다.


import assign from "101/assign";
import Map from "immutable/src/map";