2017-01-21 6 views
1

私は新しいReactプロジェクトに取り組んできましたが、コンパイル時にクラスメソッドによってクラスメソッドが見られないという同じ問題が数回発生しました。たとえば:メソッドは、ReactJSのコンポーネントクラスを作成するときに定義されていないエラーが発生しました

class CategoryList extends Component { 
    constructor(props) { 
    super(props); 

    // this.renderListItem = this.renderListItem.bind(this); 
    } 

    renderListItem({category}) { 
    return <a href="#" className="list-group-item" key={category} >{category}</a>; 
    } 

    render() { 
    return (
     <div> 
     <div className="list-group"> 
      {this.props.categories.map(renderListItem)} 
     </div> 
     </div> 
    ); 
    } 

} 

export default CategoryList; 

は、コンパイルエラーが得られます。このような単純なモジュールのために、私は、もちろん(レンダリングにrenderListItem()のコードを置くことによって、全体のことを避けることができることを

6:3 warning Useless constructor    no-useless-constructor 
20:38 error 'renderListItem' is not defined no-undef 

注)、それはですスタイルのもの。私は何が欠けていますか? CategoryListメソッドとして定義

答えて

1

renderListItem。、renderでそれを呼び出すために、あなたはthis

{this.props.categories.map(this.renderListItem)} 
          ^^^^^ 
を使用する必要があります
関連する問題