2016-09-10 6 views
1

react.createclass에서 확장 Component로 일부 코드를 이동하는 중 문제가 발생했습니다. 반면에 구성 요소를 매핑하는 기능은 해당 구성 요소에서 액세스 할 수 있도록 속성으로 전달됩니다. 잡히지 않은 TypeError : 정의되지 않은 'removeComment'속성을 읽을 수 없습니다.React가 정의되지 않은 속성을 읽을 수 없습니다.

처음에는 바인딩이 필요하다고 생각했지만 다음 코드를 사용하여 여전히 오류가 발생했습니다. (주의 : 그것은 단지 설명 구성 요소 실패 - CommentForm에서 비슷한 코드가 아니라 의도 된 작동)

all(value, index) { 
    return <Comment author={value.author} key={index} removeComment={this.removeComment.bind(this)} >{value.comment}</Comment> 
    } 
    render() { 
     return(
     <div> 
      {this.state.items.map(this.all)} 
      <CommentForm getNewComment = {this.getNewComment.bind(this)} /> 
     </div> 
    ); 
    } 

가 나는 또한 생성자 메서드 내에서 결합

감사

답변

0
을 시도

map을 실행할 때 map이 다른 범위에서 핸들러를 실행하면 핸들러를 바인드해야하며 this의 컨텍스트가 변경됩니다.

관련 문제