ReactJSの2つのボタンの色を切り替えようとしています。私は選択されたボタンのアクティブ状態のプロパティを設定することはできますが、私の選択(calcXの)に基づいて別のボタンのスタイルを変更する方法はありません。ReactJSの特定の要素を選択して変更する
コードは脆いですが、私は非常に新しい反応を示しており、ベストプラクティスの指針を理解できます。 PSもフォームとボタンのための反応ブートストラップを使用しています。
const MyForm = React.createClass({
handleChange(event, attribute) {
let eventValue = event.target.value;
if (attribute === 'calcX'){
this.setState({active: true});
this.setState({bsStyle: 'info'});
let calcXBtn = ReactDOM.findDOMNode(this.refs.calcBtnGroup.refs.calcX);
calcXBtn.setState({bsStyle: 'default'});
}
...
}
render() {
return (
<Form onSubmit={this.handleSubmit} horizontal>
<FormGroup>
<ButtonGroup ref="calcBtnGroup">
<Button active className='btn btn-info' ref="calcX" onClick={(event) => this.handleChange(event, 'calcX')}>Calculate X</Button>
<Button className='btn btn-default' ref="calcY" onClick={(event) => this.handleChange(event, 'calcY')}>Calculate Y</Button>
</ButtonGroup>
...
);
}
});
module.exports = MyForm;
多分あなたはいくつかのヒントを見つけることができる[ここ](http://stackoverflow.com/questions/30376922/how-to-manage-active-state-in-bootstrap -navbar-in-react) –