한 상태를 설정하고, 각 스위치에서 그 상태를 변경 상태 값을 사용하면 항목의 활성 클래스를 변경할 수 있습니다.
또한 목록의 활성 클래스를 전환 할 때도 동일한 문제가있었습니다.
예 :
var Tags = React.createClass({
getInitialState: function(){
return {
selected:''
}
},
setFilter: function(filter) {
this.setState({selected : filter})
this.props.onChangeFilter(filter);
},
isActive:function(value){
return 'btn '+((value===this.state.selected) ?'active':'default');
},
render: function() {
return <div className="tags">
<button className={this.isActive('')} onClick={this.setFilter.bind(this, '')}>All</button>
<button className={this.isActive('male')} onClick={this.setFilter.bind(this, 'male')}>male</button>
<button className={this.isActive('female')} onClick={this.setFilter.bind(this, 'female')}>female</button>
<button className={this.isActive('child')} onClick={this.setFilter.bind(this, 'child')}>child</button>
<button className={this.isActive('blonde')} onClick={this.setFilter.bind(this, 'blonde')}>blonde</button>
</div>
}
});
희망이 당신을 도울 것입니다!
정의되지 않은 '활성'속성을 읽을 수 없습니다. – TeodorKolev
@TeodorKolev 어쩌면 생성자에서 상태를 초기화해야합니다. – madox2
@TeodorKolev 코드를 공유 할 수 있습니까? – madox2