출처 : 소플의 처음만난 리액트 (도서)
리액트에서의 state는 리액트 컴포넌트의 상태를 의미한다.
리액트 컴포넌트의 변경 가능한 데이터를 state 라고 부른다. state는 사전에 미리 정해진 것이 아니라 리액트 컴포넌트를 개발하는 각 개발자가 직접 정의하는 것이다.
렌더링이나 데이터 흐름에 사용되는 값만 state에 포함시켜야 한다.
state는 자바스크립트의 객체이다.
정의한 state는 이후 일반적인 자바스크립트 변수를 다루듯이 직접 수정할 수는 없다. 사실 수정은 가능하지면 그렇게 해서는 안되고,
setState() 함수를 통해 수정한다. state는 직접적인 변경은 불가능하고 state를 변경하고자 할 때에는 꼭 setState()함수를 사용해야 한다.
생명주기의 경우 최근에는 클래스 컴포넌트를 거의 사용하지 않기 때문에 이런 개념이 있다는 정도만 넘어가지만 state는 리액트의 핵심중의 핵심이기에 중요하다.