wikibook/react-deep-dive-example

[문의] p.151 예제 문의드립니다.

Closed this issue · 2 comments

인쇄일 : 초판발행 2023년 11월 07일
목차 : 2.3.1 클래스 컴포넌트
페이지 : 151p
내용 :
shouldComponentUpdate()의 예제에서 주석 설명과 return 문이 맞지 않는 듯 해서 문의 드립니다.

shouldComponentUpdate(nextProps: Props, nextState: State) {
  // false인 경우, 즉 props의 title이 같거나 state의 input이 같은 경우에는
  // 컴포넌트를 업데이트하지 않는다.
  return this.props.title !== nextProps.title || this.state.input !== nextState.input
}

현재는 return 문이 props의 title이 같지 않거나 state의 input이 같지 않을 때 컴포넌트를 업데이트하는 코드로 작성되어 있는데,
이렇게 되면 주석 부분이 "props의 title과 state의 input이 모두 같은 경우에는 컴포넌트를 업데이트를 하지 않는다." 라고 작성되어야 맞는 표현인 것 같습니다.

혹은 false인 경우를 true인 경우로 바꿔서 설명하는 방법도 있을 것 같습니다!

shouldComponentUpdate(nextProps: Props, nextState: State) {
  // true인 경우, 즉 props의 title이 같지 않거나 state의 input이 같지 않은 경우에는
  // 컴포넌트를 업데이트한다.
  // 이외의 경우에는 업데이트하지 않는다.
  return this.props.title !== nextProps.title || this.state.input !== nextState.input
}

@hyoribogo 님 안녕하세요! 제보해주신 내용이 맞습니다. 하단의 코드를 의도했던 것인데 제가 작성하는 과정에서 실수가 있었네요 ㅠ
이내용 수정하도록 하겠습니다. 감사합니다!

@hyoribogo 님, 안녕하세요.
위키북스 담당자입니다.

제보해 주신 내용을 저자분께서 확인해 주셨기에 홈페이지 정오표란에 다음과 같이 제안해 주신 내용으로 등록했습니다.

  • 151쪽, 페이지 중간 예제코드의 2~3번째 줄
    // false인 경우, 즉 props의 title이 같거나 state의 input이 같은 경우에는
    // 컴포넌트를 업데이트하지 않는다.
    
    ==>
    // true인 경우, 즉 props의 title이 같지 않거나 state의 input이 같지 않은 경우에는
    // 컴포넌트를 업데이트한다. 이외의 경우에는 업데이트하지 않는다.
    

참고 부탁드리고요, 해당 내용은 다음 인쇄 때 반영하도록 하겠습니다.
그럼 오늘도 편안한 하루 보내시고요, 즐거운 주말 맞이하세요..!
고맙습니다.