【发布时间】:2021-07-10 01:48:35
【问题描述】:
class Product extends Component {
// 1st code
onAddToCart() {
console.log('Buy Successfully');
}
<a className="btn btn-primary" onClick={this.onAddToCard}>Buy Now</a>
// 2nd Code
onAddToCart(text) {
console.log(text);
}
<a className="btn btn-primary" onClick={this.onAddToCard('Buy Successfully')}>Buy Now</a>
第一个运行成功,第二个运行失败。据我了解,当第二个反应渲染时,它会立即调用 onAddToCart 但第一个不会这样做。所以,我不明白它们是如何工作的。
【问题讨论】:
-
在第二种情况下,您将函数的返回值作为 onClick 事件处理程序传递,而在第一种情况下,您将传递函数本身