以下是我正在处理的示例代码。
基本上有两个超链接,假设为A和B。
当你点击A时,我想要在控制台记录“你选择了A”,如果你选择B,则控制台记录“你选择了B”。
我困惑的是为什么需要使用bind传递参数?
在下面的片段中,当你点击MIT时,console.log会出现,但是当你点击Stanford时却没有出现。
“你点击了Stanford”在我运行程序时就已经被记录了,之后点击它什么也不会发生。另一方面,“你点击了MIT”完美地工作。
基本上有两个超链接,假设为A和B。
当你点击A时,我想要在控制台记录“你选择了A”,如果你选择B,则控制台记录“你选择了B”。
我困惑的是为什么需要使用bind传递参数?
在下面的片段中,当你点击MIT时,console.log会出现,但是当你点击Stanford时却没有出现。
“你点击了Stanford”在我运行程序时就已经被记录了,之后点击它什么也不会发生。另一方面,“你点击了MIT”完美地工作。
import React, { Component, PropTypes } from 'react';
export default class ToppersView extends Component {
state = {
currentSelected : 'Harvard'
}
handleClick (str) {
console.log(" You selected ",str)
}
render () {
return (
<div className = 'container'>
<h3> University is : {this.state.currentSelected}</h3>
<div>
{/* Works */}
<a onClick = {this.handleClick.bind(null,"MIT")}>#MIT</a>
{/*Does not work */}
<a onClick ={this.handleClick("Stanford")}>#Stanford</a>
</div>
<br/>
</div>
)
}
}