我在做游戏Tic Tac Toe,但我有个问题..
我想将数组中的元素添加到传递的位置。
我的app.js:
import React, { Component } from 'react';
import './App.css';
import Square from './Square.js';
import './Square.css';
class App extends Component {
constructor() {
super();
this.state = {
board: Array(9).fill(''),
currentUser: 'X',
position: Array(9).fill(''),
}
}
changeUser = () => {
this.setState({
currentUser: this.state.currentUser === 'X' ? "O" : "X",
})
}
render() {
return (
<div id="game">
<div id='head'>
<h5> Tic Tac Toe Jcsouz Games </h5>
</div>
<div id="board">
{this.state.board.map((v, i) => <Square position={this.state.position} value={i} key={i} changeUser={this.changeUser} currentUser={this.state.currentUser}>
{props => (<span>{props}</span>)}
</Square>
)}
</div>
</div>
);
}
}
export default App;
Square.js (我在这里做push
);
import React from 'react';
import './Square.css';
class Square extends React.Component {
constructor() {
super();
this.state = {
player: '',
}
}
changePlayer = () => {
const { changeUser, value, position, currentUser } = this.props;
position.push(currentUser);
changeUser();
if (this.state.player === '') {
this.setState({
player: this.props.currentUser,
})
}
}
render() {
return (
<div className="square" onClick={this.changePlayer}>
{this.props.children(this.state.player)}
{this.props.children(this.state.position)}
</div>
)
}
}
export default Square;
需要发生的事情:每个正方形都有它的索引(从0到8),我想要它,例如:如果我单击正方形数字0,它将它的值添加到数组中的位置0 'X','‘
我尝试这样做,但给出了错误:
会有人来帮我吗?请..。
https://stackoverflow.com/questions/50594503
复制相似问题