javascript - 在 map 函数中 react onClick 处理程序

标签 javascript reactjs

我一直在网上搜索我的问题的答案,但没有成功。我正在尝试向我的按钮添加一个简单的 react 点击处理程序,但我似乎无法使其工作。这可能真的很简单,我只是无法理解它。

这是我的代码:

 export default class ReviewBox extends Component {

 deleteReview() {
  console.log("hey");
 }

 render() {
  const {reviews, date, lectureId} = this.props;
  const that = this;
    return (
      <div className="container content-sm">

        <div className="headline"><h2>Reviews</h2> <span>{date}</span></div>
          <div className="row margin-bottom-20">

            {reviews.map(review => {
                return(
                  <div className="col-md-3 col-sm-6">
                    <div className="thumbnails thumbnail-style thumbnail-kenburn">
                      <div className="caption">
                        <h3>{review.comment}</h3> <br />
                        <button className="btn btn-danger" onClick={this.deleteReview()}>Delete</button>
                      </div>
                    </div>
                  </div>
                )
            })}

          </div>

          <hr />
          <AddReview lectureId={lectureId} />

      </div>
    )
  }
}

当我点击一个按钮时,它拒绝触发该功能。我试过 .bind(this) 和 onClick={() => this.deleteReview} 等。

感谢所有帮助!

最佳答案

我认为你在箭头函数中缺少大括号 ()

<button className="btn btn-danger" onClick={() => this.deleteReview()}>Delete</button>

关于javascript - 在 map 函数中 react onClick 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40739877/

相关文章:

javascript - 博览会上传:ios with Release Channels

javascript - 单击时隐藏/显示子元素

javascript:如何将变量转换为具有相同名称并返回原始值的函数

javascript - 在 vue 组件上设置 props 值

javascript - 类型 'length' 上不存在属性 '{ [key: number]: any[]; }' 。在 React/Angular 中的状态变量中

reactjs - React 组件库渲染 React Links

javascript - 是否可以将 Prop 传递给样式化组件的 "css"元素?

javascript - 未捕获的类型错误 : Cannot call a class as a function

javascript - Selenium 如果 driver.is_enabled() : doesn't work

javascript - react Hook : What/Why `useEffect` ?