-
这是React官网上那个下井字棋的入门教程,但是我把它换了typescirpt的语法来写,即.tsx后缀文件的语法。
-
此外,我还要进一步实现React官方教程上提出的拓展问题
- react官网教程地址https://zh-hans.reactjs.org/tutorial/tutorial.html 官网上未实现的拓展问题:(✔为该项目中已实现)
-
作者本人也是刚入门学习,不足之处欢迎指出,一起交流进步
-
遇到的问题和困惑
- 在实现第三步的过程中,我发现想要在react中进行for循环有些不太方便,于是我使用以下方法进行处理。
- 个人感觉 像这样的情况,数组中的值是无意义的,用fori循环更加符合逻辑。目前我只想到这个稍微好看点的写法,不知道各位有没有更优雅的实现方式吗?
class Board extends Component<{ squares: string[],onClick:any}> { renderSquare(i: number) { return <Square key={i} value={this.props.squares[i]} onClick={() => this.props.onClick(i)}/>; } render() { return (<div> { Array(3).fill(null).map((number,index)=>{ return (<div key={index} className="board-row"> { [index*3,index*3+1,index*3+2].map((number,index)=>{ return this.renderSquare(number) }) } </div>) }) } </div>) } }
- 这个项目目前被我部署在heroku的免费服务上https://jxk2g1.herokuapp.com/
- github地址https://github.com/MySetsuna/REACT-Tic-Tac-Toe