[React] state변경 시, setState, useState 사용 이유

2022. 10. 6. 01:40·🍞 FrontEnd/React

state는 컴포넌트 렌더링에 영향을 주는 데이터를 갖고 있는 객체인데, 이것을 업데이트하기 위해서는 setState, useState가 필요하다. 컴포넌트는 현재의 this.state와 setState를 비교해서 업데이트가 필요한 경우에만 render 함수를 호출하는데, state를 직접 수정하게 되면 리액트가 render 함수를 호출하지 않아 상태 변경이 일어나도 렌더링이 일어나지 않을 수 있다.

📌 state

state는 일반 변수와 다르게 값이 변하면 렌더링이 일어난다. 즉, 값이 변하게 되면 연관있는 컴포넌트들이 다시 렌더링이 되어 화면이 바뀌게 된다. state는 props와 같이 컴포넌트 렌더링에 영향을 주는 데이터를 갖고 있는 객체이고, 컴포넌트 안에서 관리된다.

setState(updater, [callback])
콜백 함수가 실행된 후 리렌더링 된다.

📌 state 설정 비동기 이유

state는 값이 변경되면 리렌더링이 발생한다.
그런데 변경되는 state가 많을 경우 리렌더링이 계속 일어날 테고 속도도 저하될 것이다.
따라서 변경된 값들을 모아 한번에 업데이트를 진행하여 렌더링을 줄이고자 배치(Batch) 기능을 사용해 비동기로 작동한다고 볼 수 있다.

React.Component – React

A JavaScript library for building user interfaces

ko.reactjs.org

[React] state변경 시, 왜 setState, useState를 사용하는가?

state변경 시, 왜 setState, useState를 사용하나요? state란 무엇인가? state란 무엇일까? 사실 state만 제대로 이해하고 사용할 수 있다고 하면 react의 반은 이해했다고 할 수 있을 것 같다. 그냥 간단하게

velog.io

저작자표시 (새창열림)

'🍞 FrontEnd > React' 카테고리의 다른 글

[React] Error 다루기  (0) 2022.10.21
[React] Ref로 DOM 다루기 & Form 다루기  (0) 2022.10.21
[React] CSR과 SSR 차이  (0) 2022.10.05
[React] Virtual DOM과 리랜더링, 재조정  (0) 2022.10.04
[React] 컴포넌트 간 통신 Context API  (0) 2022.09.13
'🍞 FrontEnd/React' 카테고리의 다른 글
  • [React] Error 다루기
  • [React] Ref로 DOM 다루기 & Form 다루기
  • [React] CSR과 SSR 차이
  • [React] Virtual DOM과 리랜더링, 재조정
박빵이
박빵이
2025년에도 갓생살기
  • 박빵이
    기억보다 기록
    박빵이
  • 전체
    오늘
    어제
    • 분류 전체보기 (337)
      • 🍞 FrontEnd (97)
        • HTML+CSS (4)
        • JavaScript (17)
        • TypeScript (4)
        • React (52)
        • Next.js (2)
        • Android (15)
      • 🍞 BackEnd (24)
        • Java (15)
        • Node.js (6)
        • Spring (1)
      • 🍞 Cloud & Infra (0)
        • AWS SAA (0)
        • Microsoft Azure (0)
      • 🍞 Algorithm (147)
        • C++ (4)
        • Baekjoon (41)
        • Programmers (97)
      • 🍞 Computer Science (18)
        • 운영체제 (1)
        • 데이터 통신 (6)
        • 네트워크 (6)
        • 데이터베이스 (1)
      • 🍞 대외활동 & 부트캠프 (42)
        • 삼성 청년 SW 아카데미 (1)
        • LG유플러스 유레카 (0)
        • 한국대학생IT경영학회 (1)
        • IT연합동아리 UMC (17)
        • 길벗 블로깅 멘토 (18)
        • IT연합동아리 피로그래밍 (3)
        • 개발 컨퍼런스 (2)
  • 블로그 메뉴

    • Admin
  • 링크

    • GitHub
  • 인기 글

  • 태그

    길벗 블로깅 멘토
    umc
    level1
    위상정렬
    코딩자율학습
    유니온파인드
    level2
    react
    Front
    안드로이드
    프로그래머스
    코틀린
    JavaScript
    알고리즘
    백준
    Java
    map
    Android
    C++
    길벗 블로깅 멘토링
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
박빵이
[React] state변경 시, setState, useState 사용 이유
상단으로

티스토리툴바