簡體   English   中英

為什么在渲染上調用onClick?

[英]Why is onClick being called on render?

import React, { Component } from 'react';

class Bookmark extends Component {
  constructor(props) {
    super(props);

    this.handleClick = this.handleClick.bind(this);
  }

  handleClick() {
    console.log(this.props.idt);
  };

  render() {
    return (
      <div className='bookmark' onClick={this.handleClick()}/>
    );
  }
}
export default Bookmark;

這是我的代碼。 我已經綁定了該函數,但仍然在渲染時調用它。 這也是他們在React文檔中的表現: https//facebook.github.io/react/docs/handling-events.html

它只有在我這樣做的情況下才有效:

<div className='bookmark' onClick={() => this.handleClick()}/>

然后只有在單擊按鈕時才會調用handleClick。

因為您正在傳遞方法調用而不是方法本身。

將其更改為

<div className='bookmark' onClick={this.handleClick}/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM