UNPKG

react-chess

Version:

Renders a chess board using React

40 lines (32 loc) 918 B
const React = require('react') const Chess = require('../../src/react-chess') require('./demo.css') class Demo extends React.PureComponent { constructor(props) { super(props) this.state = {pieces: Chess.getDefaultLineup()} this.handleMovePiece = this.handleMovePiece.bind(this) } handleMovePiece(piece, fromSquare, toSquare) { const newPieces = this.state.pieces .map((curr, index) => { if (piece.index === index) { return `${piece.name}@${toSquare}` } else if (curr.indexOf(toSquare) === 2) { return false // To be removed from the board } return curr }) .filter(Boolean) this.setState({pieces: newPieces}) } render() { const {pieces} = this.state return ( <div className="demo"> <Chess pieces={pieces} onMovePiece={this.handleMovePiece} /> </div> ) } } module.exports = Demo