프론트엔드 트러블슈팅

[React]Render methods should be a pure function of props and state.

yoxxin 2022. 7. 8. 16:58

render() 내부에 setState를 호출하면 해당 에러가 뜬다.

 

render() 내부에 setState()를 직접 호출했는지 확인하거나,

button 태그에서

// class형 컴포넌트인 경우
<button onClick={this.funcHasSetState()}> // 💩
<button onClick={this.funcHasSetState}> // 😁
<button onClick={() => this.funcHasSetState()}> // 😁
<button onClick={() => funcHasSetStateAndParameter(arg1)}> // 😁

💩 와 같이 쓰지 않았는지 확인해보자.

 

참고로 2번째와 같이 사용하려면 함수에 this 바인딩이 되어있어야 한다.