无法读取未定义的属性“功能名称”

时间:2019-03-20 11:59:52

标签: reactjs

我正在制作一个网格,每个网格3列,每个都有一个带有按钮的超大屏幕。

  renderProperties = data => {
    var properties = []
    var propRow = []
    data.forEach(function(property,index){
      propRow.push(<Col xs={{ size:3, offset: .5}}> 
        <Jumbotron>
          <Image src={require("./images/1.jpg")} fluid rounded />
          <b> {property.location} </b> 
          <div> 
          <td> <Button variant="info" onClick={()=> this.handleRentProperty(property)}> Rent Property </Button> </td> 
          </div>
        </Jumbotron> 
      </Col> )
      if((index+1)%3 == 0){ // if first in the row
        properties.push(<Row>{ propRow }</Row>)
        propRow = []
      }

    })
    return (
      <Container>
        {properties}
      </Container> 
    )
  }


  handleRentProperty = prop =>{
  this.setState({show: true}); 
    //this.setState({rentProperty: prop.location })

  }

renderProperties在渲染器中的渲染方式为:

render() {
    {this.renderProperties(data)} 
} 

我不断收到“ TypeError:无法读取未定义的属性'handleRentProperty'”

我尝试像

那样绑定
onClick={(e)=> this.handleRentProperty(property, e)}
and 
onClick={this.handleRentProperty.bind(this, property)}
and
onClick={this.handleRentProperty(property)}
onClick={()=>this.handleRentProperty.bind(this,property)}

谢谢

1 个答案:

答案 0 :(得分:1)

AuthorFormSet = modelformset_factory(Produkt, fields=('nazwa','ilosc','minimum',), extra=0, widgets={'nazwa': Textarea(max_length=20)}, labels={'nazwa': 'custom label'}) 更改为data.forEach(function(property,index){

箭头函数从其定义的范围中获取data.forEach((property,index) => {。常规函数根据调用者获取其this