var Button = React.createClass({
getInitialState: function() {
return {
actived: false
};
},
onClick: function() {
this.setState({ actived: !this.state.actived });
},
render: function() {
className = "button"
className += this.state.actived ? ' actived' : '';
return <div className={className} onClick={this.onClick}></div>;
}
});
var ButtonGroup = React.createClass({
render: function() {
buttons = [0, 0, 0].map(function(curr, i) {
return <Button key={i}/>
});
return <div className="button-group">{buttons}</div>
}
});
React.render(<ButtonGroup/>, document.body);
<script src="http://fb.me/react-js-fiddle-integration.js"></script>
.button {
display: inline-block;
width: 3rem;
height: 3rem;
margin-right: 0.5rem;
background-color: #000;
}
.button:last-child {
margin-right: 0;
}
.actived {
background-color: #f00;
}
External resources loaded into this fiddle: