为什么要在ReactJS教程的“时间旅行”部分中删除构造函数,

时间:2018-12-17 01:59:22

标签: reactjs

this tutorial中,它说:

  

接下来,我们将使Board组件接收正方形和onClick道具   来自游戏组件。由于我们现在有了一个单击处理程序   登上许多广场,我们需要传递每个广场的位置   到onClick处理程序中,以指示单击了哪个Square。这里   是转换董事会组件的必要步骤:

     

在Board中删除构造函数。

为什么在扩展类时删除构造函数?

1 个答案:

答案 0 :(得分:1)

在这种情况下,需要使用构造函数来设置初始状态:

this.state = {
  history: [{
    squares: Array(9).fill(null),
  }],
  xIsNext: true,
};

由于状态已从组件中完全删除(现在已通过props向下传递),因此最好完全省略该构造函数,因为它将隐式调用父构造函数,并初始化一个空白状态。