[개발] React 에서 props와 state의 차이

in upvu •  2 years ago 

안녕하세요 @realmankwon 입니다.

React에서 props와 state는 둘 다 컴포넌트에서 데이터를 다루는 데 사용되지만, 목적과 사용 방법에서 차이가 있습니다.

props는 부모 컴포넌트에서 자식 컴포넌트로 전달되는 읽기 전용 데이터입니다. props는 함수의 매개변수나 클래스형 컴포넌트의 this.props 객체를 통해 사용할 수 있습니다. props는 변경되지 않으며, 자식 컴포넌트에서 전달받은 데이터를 사용하여 렌더링합니다.

예를 들어, 부모 컴포넌트에서 props를 사용하여 자식 컴포넌트에 데이터를 전달할 수 있습니다.

function ParentComponent() {
  return (
    <ChildComponent prop1="value1" prop2="value2" />
  );
}

function ChildComponent(props) {
  return (
    <div>
      <p>Prop 1: {props.prop1}</p>
      <p>Prop 2: {props.prop2}</p>
    </div>
  );
}

state는 컴포넌트 내부에서 관리되는 변경 가능한 데이터입니다. state는 클래스형 컴포넌트에서 this.state 객체를 통해 사용할 수 있으며, setState() 메소드를 사용하여 변경할 수 있습니다. state의 변경은 render() 메소드를 트리거하고 UI를 업데이트합니다.

예를 들어, 클래스형 컴포넌트에서 state를 사용하여 데이터를 관리할 수 있습니다.

class Counter extends React.Component {
  constructor(props) {
    super(props);
    this.state = { count: 0 };
  }

  incrementCount() {
    this.setState({ count: this.state.count + 1 });
  }

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

따라서, props는 읽기 전용 데이터를 전달하는 데 사용되며, state는 컴포넌트 내부에서 변경 가능한 데이터를 관리하는 데 사용됩니다.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!