添加事件处理程序

时间:2018-03-12 12:31:00

标签: reactjs typescript

我希望在用户点击表单时能够获得个人。我尝试在代码的返回部分添加一个事件处理程序,但我需要在

onClick = {props.click} 中实现人类。 任何人都可以推荐一些与打字稿教程的反应。

app/design/frontend/theme/default/layout/customer.xml

感谢。

1 个答案:

答案 0 :(得分:0)

处理此问题的一种方法是将匿名箭头函数作为prop传递给每个Person Component。您不能以当前的方式将参数传递给deletePersonH​​andler。

相反,尝试这样的事情:

{
  this.state.persons.map((person,index) => {
  return (
      <Person 
        delete={() => this.deletePersonHandler(index)}
        name={person.name}
        age={person.age} 
      />
    )
  })
}

然后,在Person Component中,附加onClick事件,如下所示:

class Person extends React.Component<{ name: string, age: number }, {}>     {
  render() {
    return (
      <div onClick={this.props.delete}>
        <p> {this.props.name} and {this.props.age} </p>)
      </div>
    )
  }
}

Here是一个有点类似于我在Codepen中所做的尝试的例子。单击HTML部分中的每个人,然后检查控制台中发生的情况。

P.S。我根本不使用TypeScript,但请记住,您还需要声明您的函数在Person Component的arguments部分中传递。