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

짱구님의 프로필 이미지
짱구

작성한 질문수

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

[검색폼 1] 상태를 갱신하기- 이벤트 처리 강의 중, render()에 관해 질문 있습니다.

해결된 질문

작성

·

166

0

안녕하세요~ 정환님 

강의를 듣던 중에 질문이 하나 생겼습니다.

 Q) handleChangeInput(event) 안에서 state 값을 변경해줘도 render()가 동작하지 않아서 그래서 this.forceUpdate() 쓰는 것이라고 이해했는데요.

그렇다면, handleChangeInput(event) 안에서  render()를 강제로 동작해주기 위해서, this.render()를 넣어줘도 상식적으로 작동해야할 것같은데... 작동하지 않네요...;;; 왜 이런 결과가 나오나요??

 

혹시 몰라서, this.ReactDOM.render(); 을 넣어봤는데도 작동을 안 하네요...;;;

답변 1

2

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

render() 함수는 컴포넌트가 그릴 UI를 정의하는 것만 가능하고요. 실행하는것은 리액트 라이브러리 내부에서 호출합니다. 다만 사용하는 이 함수를 실행시켜 다시 렌더링 하도록 할 수 있도록 forceUpdate() 같은 api만 제공하는 거고요.

주의하셔야할 것은 state 객체를 직접 변경하지 말아야 한다는 겁니다. 이 수업에서는 state 변경을 위한 setState() 메소드 소개를 위한 준비단계이기 때문에 코드는 참고만 해주세요.

짱구님의 프로필 이미지
짱구

작성한 질문수

질문하기