Javascript 如何在JSX中调用带参数的函数?
我正在尝试创建一个listitem click侦听器,并将该项作为React中的参数。但是,现在在加载页面时调用函数itemClick,而不是在单击项目时调用函数itemClickJavascript 如何在JSX中调用带参数的函数?,javascript,reactjs,jsx,Javascript,Reactjs,Jsx,我正在尝试创建一个listitem click侦听器,并将该项作为React中的参数。但是,现在在加载页面时调用函数itemClick,而不是在单击项目时调用函数itemClick itemClick = (item) => { console.log(item) } render(){ return( <Fragment> {this.state.list.map(item=> (
itemClick = (item) => {
console.log(item)
}
render(){
return(
<Fragment>
{this.state.list.map(item=> (
<tr onClick={this.itemClick(item)}>
<td>{item.firstname}</td>
<td>{item.lastname}</td>
</tr>
))}
</Fragment>
)
}
itemClick=(项目)=>{
console.log(项目)
}
render(){
返回(
{this.state.list.map(项=>(
{item.firstname}
{item.lastname}
))}
)
}
当我执行此操作时,单击时将调用函数,但我无法获取参数
<tr onClick={this.itemClick} >
帮助?通过编写
此。项目单击(项目)
您正在调用项目直接在渲染时单击。您可以创建一个新的内联函数,在调用时调用itemClick
<tr onClick={() => this.itemClick(item)}>
this.item单击(项目)}>
通过编写此。项单击(项)
您正在调用项直接在渲染上单击。您可以创建一个新的内联函数,在调用时调用itemClick
<tr onClick={() => this.itemClick(item)}>
this.item单击(项目)}>
onClick={(e)=>this.itemClick(item,e)}
或onClick={this.itemClick.bind(this,item)}
这与“this”上的绑定有关。有关事件处理和函数中绑定的更多信息,请参见on React。onClick={(e)=>this.itemClick(item,e)}
或onClick={this.itemClick.bind(this,item)}
这与“this”上的绑定有关。有关事件处理和函数中绑定的更多信息,请参阅上的React。