인프런 커뮤니티 질문&답변

양채훈님의 프로필 이미지
양채훈

작성한 질문수

[리액트 1부] 만들고 비교하며 학습하는 리액트 (React)

[검색폼 2] 조건부 렌더링

handleChangeInput () 에서 변수값

작성

·

161

0

const searchKeyword = event.target.value;  

this.setState( { searchKeyword} )

위의 this.setState 같은 경우에는 constructor 안의 this.state  의 searchKeyword를 변경한다는 의미일까요? 

construtor의  this.state 는 기본적으로 선언되어 있는 값인걸까요? 오버라이딩 해서 사용하는건가요? 

답변 1

0

김정환님의 프로필 이미지
김정환
지식공유자

클래스가 객체(instance가 되었을 때의 모양을 궁금해 하시는 것 같습니다. (아니면 다시 질문 해주세요)

생성자 함수(constructor)에서는 객체 초기화 역할을 하는데요. 여기서는 state 값을 설정했습니다. 그리고 나서 객체의 메소드인 setState()를 사용하는데요. 이건 상속한 Component 의 메소드를 호출한 것입니다. 

여기까지가 객체의 모양이고요.

setState()는 state 속성을 변경하기 위해 사용하는 메소드입니다. 직접 state 값을 변경할수 도 있지만 리액트에서는 그렇게 하지 말라고 합니다. state 값이 변할 때 리액트 엘리먼트를 다시 그려야 리액티브하게 동작할수 있는데요. 그래서 반드시 setState() 메소드로 state를 변경하도록 가이드 합니다.

마지막으로 setState, state는 모두 Component 클래스의 속성과 메소드입니다.

양채훈님의 프로필 이미지
양채훈

작성한 질문수

질문하기