You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React TicTacToe教程中遭遇JSX语法错误,寻求帮助

错误原因及修正方案

错误核心原因

你混淆了教程中Square和Board组件的职责:

  • 教程里的Square组件仅负责渲染单个格子按钮,而你把整个3×3棋盘的代码都写进了Square组件中,这和教程后续的代码逻辑冲突,引发了渲染错误。

修正步骤

  1. 重命名棋盘组件:把你当前的Square组件改名为Board(对应整个棋盘):
export default function Board() {
  return (
    <>
      <div className="board-row">
        <button className="square">1</button>
        <button className="square">2</button>
        <button className="square">3</button>
      </div>
      <div className="board-row">
        <button className="square">4</button>
        <button className="square">5</button>
        <button className="square">6</button>
      </div>
      <div className="board-row">
        <button className="square">7</button>
        <button className="square">8</button>
        <button className="square">9</button>
      </div>
    </>
  );
}
  1. 创建正确的Square组件:单独写一个负责单个格子的Square组件:
export default function Square() {
  return <button className="square"></button>;
}
  1. 按教程步骤推进:之后再按照教程要求,把Board组件里的<button>替换成<Square />组件,逐步添加状态和交互逻辑。

额外说明

React组件命名遵循语义化原则,Square对应单个方块,Board对应整个棋盘,混淆二者会导致后续的状态管理、事件绑定等逻辑完全无法正常运行,这也是你出现错误的根本原因。

内容的提问来源于stack exchange,提问作者Garrett Moore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 09:55:11