當我在Filter組件中使用this.onItemClick時,遇到了一個問題,我認爲這個問題。這個範圍在一個簡單的React組件中
獲取錯誤「onItemClick未定義」。
下面是Filter組件的代碼。
var Filter = React.createClass({
getDefaultProps() {
return {
filterList: [],
name: ''
};
},
onItemClick(event) {
event.currentTarget.style.backgroundColor = '#f00';
},
render() {
return (
<div className="filterCloud quarter-section">
<h3>{this.props.name}</h3>
<ul>
{this.props.filterList.map(function(listValue) {
return <li onClick={this.onItemClick}>{listValue}</li>;
})}
</ul>
</div>
)
}});
你不需要使用'.bind',因爲你可以設置'this'通過 秒參數 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map –