首页 > 解决方案 > 为什么在 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 谢谢

标签: javascriptreactjs

解决方案


您需要将回调传递给反应中的事件。您不能像在 html 中那样仅将函数名称作为字符串传递

<div className="catalog-item" onClick={() => console.log('click')} key={index} data-id={product._id}>

推荐阅读