javascript - 为什么在 setState 中通过渲染运行 onClick 函数?
问题描述
this.setState({
Products: products.map((product, index) => {
return(
<div className="catalog-item" onClick="console.log('click)" key={index} data-id={product._id}>
<div className="catalog-item__top">
<h4>{product.name}</h4>
</div>
</div>
)
})
})
渲染时运行 onClick 函数,但我只需要运行 Click to element 谢谢
解决方案
您需要将回调传递给反应中的事件。您不能像在 html 中那样仅将函数名称作为字符串传递
<div className="catalog-item" onClick={() => console.log('click')} key={index} data-id={product._id}>
推荐阅读
- java - 如何使用 Apache Kafka 实现“Exactly once” kafka 消费者?
- php - 从 Laravel 中的关系中检索关系
- sql - LinkedServer“读取元组时内存不足”问题
- linux-kernel - Qemu - irq 22 : '没人关心(尝试使用“irqpoll”选项启动)'
- javascript - 传递一个 jquery 选择器作为参数
- javascript - c# MVC Controller jsonresult action not found
- node.js - 将 id 分配给新文档时,mongoose 如何知道使用了哪些 id?
- java - 为什么我在 findbug 中得到可能的空指针取消引用?
- javascript - Express Route foreach 和 if/else 语句给我 if 和 else 响应
- mysql - 使用无服务器在 MySQL 查询后调用 AWS 服务时 AWS Lambda 超时