state 는 컴포넌트 상태를 나타내며 , props 와 반대로 변할수 있다 . 컴포넌트의 내부에서 선언되기 때문에 이러한 state 는 외부에 공개하지 않고 컴포넌트가 스스로 관리한다. state 로 사용하는 것은 컴포넌트의 상태값을 나타내기 위한 것들 ( 리스트에서 선택된값 , 체크박스에서 체크된 값, 텍스트 박스의 텍스트 등등)
-상태에 따라 변화하는것
-직접 변경 가능
-state 가 변경되면 컴포넌트를 다시 렌더링 해야함
-외부에는 비공개 , 컴포넌트 스스로가 관리 해야하는것
먼저 props("properties"의 줄임말)로 state 와의 간단한 차이는 변할수 없다는 것. 컴포넌트는 상속하는 부모 컴포넌트로 부터 props 를 받고 이 props 는 상속받는 컴포넌트 내에서 수정이 불가능하다. 리액트에서 부모 > 자식 일방향성 상속이라는 특징때문이다 .
props 는 컴포넌트가 가지고 있는 다양한 값을 나타내기 위한 존재로
'this.props,xxx'로 나타낸다.
-읽기전용
-부모요소에서 설정하는것
-초깃값과 자료형의 유혀성 검사가 가능
setstate()는 컴포넌트의 state 객체에 대한 업데이트를 실행합니다 state 가 변경되면 컴포넌트는 리 렌더링됩니다.
props("properties"의 줄임말)와 state는 일반 Javascript 객체입니다. 두 객체 모두 렌더링 결과물에 영향을 주는 정보를 갖고있는데, 한 가지 중요한 방식에서 차이가 있습니다. props 는 (함수 매개변수 처럼 ) 컴포넌트에 전달되는 반면 state 는 (함수 내에 선언된 변수처럼 ) 컴포넌트 안에서 관리됩니다.