props와 state는?
둘 다 리액트 컴포넌트에서 다루는 데이터로. React에서 구성 요소가 데이터를 받거나 처리하고 보내기 위해 사용된다.
Props
- properties의 줄임말
- 불변의 데이터
- 부모 컴포넌트로 부터 상속을 받는다.
- 읽기전용이다.
- 변경이 불가하다.
State
- 컴포넌트의 상태를 나타낸다.
- 컴포넌트 내부에서 선언되기 때문에 state는 외부에 공개하지 않고 컴포넌트 스스로 관리한다.
- state가 변경되면 컴포넌트는 리렌더링된다.
- 가변의 데이터(상태에 따라 변화하는 것)
- 구성 요소에 의해서 유지가 된다.
- 변경 가능
차이점
- 방식에서의 차이가 있다. props는(함수의 매개변수 처럼) 컴포넌트에 전달되는 반면에 state는 (함수 내에 선언된 변수처럼) 컴포넌트 안에서 관리한다 그래서 State는 내부(컴포넌트)에서 생성하고 활동하고 데이터를 변경할 수 있다. 하지만 Props는 부모(외부 컴포넌트)로 부터 상속 받는 데이터이므로, 데이터를 변경할 수 없다.
참조 👇