Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在JSX中调用带参数的函数?_Javascript_Reactjs_Jsx - Fatal编程技术网

Javascript 如何在JSX中调用带参数的函数?

Javascript 如何在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=> (

我正在尝试创建一个listitem click侦听器,并将该项作为React中的参数。但是,现在在加载页面时调用函数itemClick,而不是在单击项目时调用函数itemClick

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。