Javascript 优雅的构造函数状态,减少重复

Javascript 优雅的构造函数状态,减少重复,javascript,reactjs,Javascript,Reactjs,我真的很感兴趣: 有没有一种方法可以使构造函数中的状态比下面的更优雅: state = { team1: 0, team2: 0, team3: 0, team4: 0 } 所有的值都是相同的,所以有没有办法缩短它,使它更优雅 谢谢 您可以创建一个对象,并创建一个for循环,在每次迭代中向该对象添加一个值为0的键'team'+index: class MyComponent extends React.Component { constructor(props) { sup

我真的很感兴趣:

有没有一种方法可以使构造函数中的状态比下面的更优雅:

state = {
    team1: 0, team2: 0, team3: 0, team4: 0
}
所有的值都是相同的,所以有没有办法缩短它,使它更优雅


谢谢

您可以创建一个对象,并创建一个for循环,在每次迭代中向该对象添加一个值为
0
的键
'team'+index

class MyComponent extends React.Component {
  constructor(props) {
    super(props);
    const state = {};

    for(let i = 1; i < 5; i++) {
      state['team' + i] = 0;
    }

    this.state = state;
  }

  // ...
}
类MyComponent扩展了React.Component{ 建造师(道具){ 超级(道具); const state={}; for(设i=1;i<5;i++){ 状态['team'+i]=0; } this.state=状态; } // ... }
如果还有像:differentKey:0这样的对呢?@Barth只需创建一个helper函数来返回适当的对象。此外,如果您正在这样做,那么很明显您应该使用数组之类的数据结构。这怎么会是“不雅观”的呢?这是直接的、切中要害的、可重申的。我认为这是错误的,因为您只需要一个数组,这也使它更具可扩展性,但这是一个单独的讨论。