본문 바로가기

공부/TIL

리액트 class형 컴포넌트

리액트 라이브러리를 학습하면서 컴포넌트를 만드는 방식은 두 가지 알고 있다 class, hooks

공통적으론 import React from "react";

class 방식에선

class 컴포넌트명 extends Component {} 방식과

class 컴포넌트명 extends React.Component

두 가지 방법을 사용했다.

차이라면 import 문에 {} 디스트럭처링 방식으로 component를 넣냐 마냐만 알고 있었는데,

React.PureComponent 방식으로 컴포넌트를 생성 시 state 값을 기존의 state와 비교하여 변화가 발생하였을 때만 렌더링 한다는 정보를 얻게 되었다.

정보가 사실이라면, 리액트 라이브러리는 state 값을 주시하고 있다가 '변화'가 생겼을 시 자동으로 렌더링 한다는 느낌으로 알고 있었는데 렌더링을 최소화할 수 있는 컴포넌트 *생성 방식을* 알아낸 것이다

예를 들어 카운터 예제에서 state에 0이 있다면, 기존 컴포넌트 방식으로는 0이 0으로 재할당되어도 렌더링이 되는 걸로 알고 있는데, PureComponent 방식을 사용한다면 1이든 -1이든 변화가 생겼을 때 렌더링 되어 성능이 좋아질 것으로 생각된다.

확인은 더 필요하다

 

import React from "react"; // 공통

import React, { Component } from "react";

class App extends Component {}

import React from "react";

class App extends React.Component {}

import React from "react";

class App extends React.PureComponent {}
반응형

'공부 > TIL' 카테고리의 다른 글

깃허브 협업  (0) 2020.01.21
React-Router 학습  (0) 2020.01.17
리액트 튜토리얼  (0) 2020.01.08
모듈  (0) 2019.11.25
데이터의 수정  (0) 2019.11.20