如何在React状态下创建具有不同标记的对象数组

时间:2018-01-12 00:54:20

标签: arrays reactjs state

我正在尝试使用React Component状态中的相同对象创建一个数组(todos)。该对象应该由active:false,值及其索引组成。

我试过了:

this.state = {
      todos:Array(15).fill({active:false},{idx:???})
}

我写什么作为索引?

2 个答案:

答案 0 :(得分:1)

您可以将数组中的索引编写为idx到对象:

Array(15).fill({ active: false }).map((i, k) => ({ ...i, ...{ idx: k }}));

但是你需要使用map再一次迭代throw数组并创建一个带索引的新数组。

答案 1 :(得分:1)

您可以通过将.fill传播到数组中来跳过Array(15),然后您就可以.map。但是,如果您已经拥有要填充的值,为什么还要先创建一个空数组呢?

[...Array(15)].map((_, idx) => {
  return {active: false, idx}
})