无法读取undefined的属性'0' - 卡在reactjs教程中

Gie*_*ius 3 javascript jsx reactjs

我被困在了"保存历史"部分教程,试图拉从国家最高BoardGame.我已经删除了构造函数,Board并且正在尝试更改Board以便squares通过props 进行更改:

 renderSquare(i) {
    return <Square value={this.props.squares[i]} onClick={() => this.props.onClick(i)} />;
  }
Run Code Online (Sandbox Code Playgroud)

但它失败了..

代码:https://codepen.io/gka/pen/eBgapz

zab*_*ech 5

在您的示例中,您将方块作为道具传递.所以你需要改变

renderSquare(i) {
    return (
      <Square 
        value={this.props.squares[i]}
        onClick={() => this.props.onClick(i)}
      />;
    );
}
Run Code Online (Sandbox Code Playgroud)

renderSquare(i) {
    return (
      <Square 
        value={this.props[i]}
        onClick={() => this.props.onClick(i)}
      />;
    );
}
Run Code Online (Sandbox Code Playgroud)

因为this.props已经引用了你传入的方格.