gpt4 book ai didi

reactjs - onClick 不适用于自定义组件

转载 作者:行者123 更新时间:2023-12-03 13:28:15 25 4
gpt4 key购买 nike

为什么 onClick 不能直接在我的自定义元素上工作,如此处所示?函数 selectedResource 不会被调用。

return (
<div>
{
resources.map(resource => {
return (
<SelectListItem key={resource.id} onClick={this.chosenResource.bind(this)} resource={resource} />
)
})
}
</div>
)

但是,如果我将自定义元素封装在 div 元素中,并在 div 元素上添加 onClick,那么它就可以工作。

return (
<div>
{
resources.map(resource => {
return (
<div key={resource.id} onClick={this.chosenResource.bind(this)}>
<SelectListItem resource={resource} />
</div>
)
})
}
</div>
)

第一种方法有什么问题?

最佳答案

@nrgwsth 是正确的,如果您仍然想坚持第一种方法,您可以使用:

return (
<div>
{
resources.map(resource => {
return (
<SelectListItem key={resource.id} customClickEvent={this.chosenResource.bind(this)} resource={resource} />
)
})
}
</div>
)

然后,在 SelectListItem 的 render() 函数中,像这样使用:

return (
<div onClick={this.props.customClickEvent}>
...
</div>
)

关于reactjs - onClick 不适用于自定义组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45727171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com