CapturedPieces.js 808 B

123456789101112131415161718192021222324252627282930313233343536
  1. 'use strict';
  2. const React = require('react/addons');
  3. const GameStore = require('../stores/GameStore');
  4. const onGameChange = require('../mixins/onGameChange');
  5. const CapturedPieces = React.createClass({
  6. mixins: [React.addons.PureRenderMixin, onGameChange],
  7. getInitialState() {
  8. return {
  9. capturedPieces: GameStore.getCapturedPieces()
  10. };
  11. },
  12. render() {
  13. const cp = this.state.capturedPieces;
  14. return (
  15. <div id="captured-pieces">
  16. {cp.map((pieces, color) => (
  17. <ul key={color}>
  18. {pieces.map((piece, i) => <li key={i}>{piece}</li>).toArray()}
  19. </ul>
  20. )).toArray()}
  21. </div>
  22. );
  23. },
  24. _onGameChange() {
  25. this.setState({
  26. capturedPieces: GameStore.getCapturedPieces()
  27. });
  28. }
  29. });
  30. module.exports = CapturedPieces;