> 웹 프론트엔드 > JS 튜토리얼 > React State에 대한 종합 가이드: 구성 요소의 동적 데이터 관리

React State에 대한 종합 가이드: 구성 요소의 동적 데이터 관리

Barbara Streisand
풀어 주다: 2024-12-29 16:19:16
원래의
908명이 탐색했습니다.

A Comprehensive Guide to React State: Managing Dynamic Data in Your Components

React 상태 이해: 동적 UI 구축을 위한 핵심 개념

React에서 state는 구성 요소의 렌더링 및 동작 방식에 영향을 미치는 동적 데이터를 보유하는 객체를 나타냅니다. 상태를 사용하면 시간이 지남에 따라 변경될 수 있는 정보를 저장하여 구성 요소가 상호 작용할 수 있습니다. 상태가 변경되면 React는 새 상태를 반영하기 위해 자동으로 구성요소를 다시 렌더링합니다.

이 가이드에서는 React 상태의 기본 사항, 이를 효과적으로 사용하는 방법, 동적 UI 관리에 도움이 되는 방법을 안내합니다.


1. 리액트 스테이트란 무엇인가요?

React의 State는 구성 요소의 수명 주기 동안 변경될 수 있는 데이터나 정보를 저장하는 내장 객체입니다. 상위 구성 요소에서 하위 구성 요소로 전달되는 props와 달리 상태는 구성 요소 자체 내에서 관리되며 사용자 작업이나 기타 이벤트에 응답하여 동적으로 변경될 수 있습니다.

예를 들어 상태는 사용자 입력, 양식 데이터 또는 토글 버튼의 ​​현재 상태를 저장할 수 있습니다.


2. useState를 사용하여 기능적 구성요소의 상태 선언

기능적 구성 요소에서 상태는 일반적으로 useState 후크를 사용하여 관리됩니다. useState 후크를 사용하면 상태 변수를 선언하고 이를 업데이트하는 함수를 제공할 수 있습니다.

구문:

const [state, setState] = useState(initialValue);
로그인 후 복사
로그인 후 복사
로그인 후 복사
  • 상태: 상태의 현재 값입니다.
  • setState: 상태를 업데이트하는 데 사용되는 함수
  • initialValue: 상태 변수의 초기 값입니다.

useState Hook 사용 예:

import React, { useState } from 'react';

const Counter = () => {
  // Declare state variable "count" with initial value of 0
  const [count, setCount] = useState(0);

  // Increment the count when the button is clicked
  const increment = () => setCount(count + 1);

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={increment}>Increment</button>
    </div>
  );
};

export default Counter;
로그인 후 복사
로그인 후 복사

설명:

  • 상태변수 개수를 초기값 0으로 선언합니다.
  • setCount는 버튼을 클릭할 때마다 상태를 업데이트하는 데 사용됩니다.
  • React는 새로운 count 값으로 구성요소를 자동으로 다시 렌더링합니다.

3. 클래스 구성 요소에서 상태 선언

클래스 구성 요소에서 상태는 this.state를 사용하여 생성자 내부에서 선언되고, 업데이트는 this.setState()를 사용하여 이루어집니다.

클래스 구성 요소에서 상태를 사용하는 예:

const [state, setState] = useState(initialValue);
로그인 후 복사
로그인 후 복사
로그인 후 복사

설명:

  • 클래스 구성 요소에서 상태는 this.state를 사용하여 생성자에서 초기화됩니다.
  • this.setState()를 사용하여 상태를 업데이트하고 다시 렌더링을 시작합니다.

4. 상태 업데이트 중

React의 상태는 setter 함수(기능적 구성 요소의 경우 setState, 클래스 구성 요소의 경우 this.setState)를 통해 업데이트됩니다. 상태가 업데이트되면 React는 새 상태를 반영하기 위해 구성 요소를 다시 렌더링합니다.

국가 업데이트 관련 중요 사항:

  • 비동기 업데이트: 상태 업데이트는 비동기식입니다. 즉, React는 효율성을 위해 여러 상태 업데이트를 일괄 처리합니다. 업데이트 후 즉시 최신 상태를 가져와야 하는 경우 this.setState가 포함된 콜백을 사용하거나 기능 구성 요소에서 setState의 기능적 형식을 사용하세요.

#### 예(기능적 구성요소):

import React, { useState } from 'react';

const Counter = () => {
  // Declare state variable "count" with initial value of 0
  const [count, setCount] = useState(0);

  // Increment the count when the button is clicked
  const increment = () => setCount(count + 1);

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={increment}>Increment</button>
    </div>
  );
};

export default Counter;
로그인 후 복사
로그인 후 복사

#### 기능 업데이트로 수정:

import React, { Component } from 'react';

class Counter extends Component {
  constructor(props) {
    super(props);
    // Declare state in the constructor
    this.state = { count: 0 };
  }

  // Method to increment the count
  increment = () => {
    this.setState({ count: this.state.count + 1 });
  };

  render() {
    return (
      <div>
        <p>Count: {this.state.count}</p>
        <button onClick={this.increment}>Increment</button>
      </div>
    );
  }
}

export default Counter;
로그인 후 복사
  • 배칭: React는 성능 최적화를 위해 상태 업데이트를 일괄 처리합니다. 여러 setState 호출이 이루어지면 React는 이를 단일 리렌더링으로 결합하여 성능을 향상시킵니다.

5. 다중 상태 변수

React를 사용하면 단일 구성 요소에서 여러 상태 변수를 사용할 수 있으므로 더 모듈화되고 복잡한 상태를 쉽게 관리할 수 있습니다.

예:

  const [count, setCount] = useState(0);

  const increment = () => {
    setCount(count + 1);
    console.log(count); // This will log the old value, not the updated one
  };
로그인 후 복사

6. 상태 올리기

React에서 두 개 이상의 구성 요소가 동일한 상태를 공유해야 하는 경우 공통 조상으로 "상태를 끌어올립니다". 그런 다음 공통 조상은 상태 및 상태 업데이트 함수를 소품으로 하위 구성 요소에 전달할 수 있습니다.

상태 올리기 예시:

const [state, setState] = useState(initialValue);
로그인 후 복사
로그인 후 복사
로그인 후 복사

7. 상태 관리 모범 사례

  • 상태를 가능한 한 로컬로 유지: React에서 액세스하거나 변경해야 하는 상태에만 데이터를 저장하세요. DOM 참조나 파생 값 등을 저장하지 마세요.
  • useState를 주의해서 사용하세요: 상태 변수를 너무 많이 만들지 마세요. 구성 요소가 더 복잡해질 수 있습니다. 필요에 맞는 최소한의 상태 집합을 사용해 보세요.
  • 직접적인 변경을 피하세요: 상태를 직접적으로 변경하지 마세요. 상태를 수정하려면 항상 제공된 setter 함수(setState 또는 setCount)를 사용하십시오.

8. 결론

상태는 React의 핵심 개념 중 하나이며 대화형의 동적 UI를 만드는 데 필수적입니다. 기능적 컴포넌트에서 useState를 사용하고 클래스 컴포넌트에서 this.state를 사용하는 방법을 이해하면 앱의 동적 데이터를 효과적으로 관리할 수 있습니다. 복잡성을 줄이고 최적의 성능을 보장하려면 상태를 올리고 상태를 로컬로 유지하는 등의 모범 사례를 따르는 것을 잊지 마세요.


위 내용은 React State에 대한 종합 가이드: 구성 요소의 동적 데이터 관리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿