"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 소품과 상태 React.JS

소품과 상태 React.JS

2024-11-08에 게시됨
검색:996

Props and State React.JS

확신하는! React의 props와 state에 대해 더 자세히 알아보고, 역할과 차이점을 살펴보고, 더 자세한 예시를 제공하겠습니다.

소품(속성)

1. 정의: Prop은 속성의 약자입니다. 이는 한 구성 요소에서 다른 구성 요소로, 일반적으로 상위 구성 요소에서 하위 구성 요소로 데이터를 전달하는 방법입니다.

2. 형질:

읽기 전용: 일단 설정되면 하위 구성 요소는 소품을 수정할 수 없습니다. 하위 구성 요소 내에서는 변경할 수 없습니다.
구성에 사용됨: 소품을 사용하면 구성 요소의 동작과 모양을 사용자 정의할 수 있습니다.
데이터 흐름: Prop은 구성 요소 계층 구조 아래로 데이터와 기능의 흐름을 가능하게 하여 재사용성을 촉진합니다.
3. 사용법: 문자열, 숫자, 객체, 배열 및 함수를 포함하여 모든 유형의 데이터를 props를 통해 전달할 수 있습니다.

소품의 예:

// ParentComponent.js
function ParentComponent() {
  const message = "Hello, Child!";

  return ;
}

// ChildComponent.js
function ChildComponent(props) {
  return 

{props.greeting}

; }

이 예에서는:

  • ParentComponent는 "Hello, Child!"라는 문자열을 전달합니다. Greeting이라는 소품을 통해 ChildComponent에 연결합니다.
  • ChildComponent는 이 prop을 수신하여

    태그에 표시합니다.

상태

1. 정의: 상태는 구성요소의 현재 상태에 대한 정보를 보유하는 내장 React 객체입니다. props와 달리 상태는 구성 요소 자체 내에서 관리됩니다.

2. 형질:

변경 가능: 상태는 setState(클래스 구성 요소의 경우) 또는 useState 후크(기능적 구성 요소의 경우)와 같은 함수를 사용하여 변경할 수 있습니다.
로컬에서 구성 요소로: 상태는 정의된 구성 요소에만 적용되며 해제되지 않는 한 다른 구성 요소에서 액세스할 수 없습니다.
반응성: 상태 변경으로 인해 구성 요소가 다시 렌더링되어 UI에서 동적 업데이트가 가능해집니다.
3. 사용법: 상태는 일반적으로 사용자 입력 관리, 구성 요소 상태 추적, 사용자 상호 작용에 응답하는 데 사용됩니다.

상태 예:

import React, { useState } from 'react';

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

  return (
    

Count: {count}

); }

이 예에서는:

  • Counter 구성 요소는 0으로 초기화된 count라는 자체 상태를 유지합니다.
  • 버튼을 클릭하면 setCount 함수가 카운트 상태를 업데이트하여 구성 요소가 다시 렌더링되고 새 카운트가 표시됩니다.

요약

  • Props는 구성 요소 트리 아래로 데이터를 전달하기 위한 것이며 읽기 전용입니다. 사용자 정의할 수 있고 재사용 가능한 구성 요소를 만드는 데 도움이 됩니다.
  • 상태는 구성 요소의 내부 상태를 관리하기 위한 것이며 업데이트될 수 있어 동적 동작과 렌더링으로 이어집니다.

효과적이고 체계적인 React 애플리케이션을 구축하려면 props와 state의 차이점을 이해하는 것이 필수적입니다. 더 궁금한 점이 있거나 어떤 부분에 대해 추가 설명이 필요한 경우 언제든지 문의하세요!

릴리스 선언문 이 글은 https://dev.to/imyusufakhtar/props-and-state-reactjs-3fob?1에서 복제됩니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3