CapturedPieces.js 779 B

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