해결된 질문
작성
·
163
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() 메소드 소개를 위한 준비단계이기 때문에 코드는 참고만 해주세요.