JS创建动态generateItems不起作用

时间:2019-02-08 17:11:39

标签: javascript arrays

我目前对该问题的代码最少,但我希望它简单一些。我想做的是用动态数组创建三个单独的拖放框。这是数组:

const col2 = ["Restoration Events", "Spectrum Utilization", "Segment Utilization"]

,这里是来自this.state的代码,它生成三个项目:

items2: generateItems(3, (i) => ({ id: '2' + i, data: col2 }))

此代码最初是:

items2: generateItems(1, (i) => ({ id: '2' + i, data: `Card 2 - ${i}`}))

生成了三个带有通用Card 2 +编号的盒子,这不是我们所需要的。我希望我缺少一些简单的东西,可以让我做到这一点。请原谅受限代码,不胜感激。

1 个答案:

答案 0 :(得分:0)

很难理解您想要实现什么以及上下文是什么。 我将尽力猜测您想要实现的目标,也许会对您有所帮助。 由于我的信誉不高,因此我无法使用评论功能。

很可能您正在开发React-Component(因为您指的是this.state),并且您在某处找到了代码

constructor(props){

    ...

    this.state = {
        items2: generateItems(1, (i) => ({ id: '2' + i, data: `Card 2 - ${i}` }))
    }

    ...

}

由于您没有提供generateItems的代码,我只能猜测它可能会生成一些对象,并以某种方式合并了给定内联函数的输出。 我的印象是,您希望更改它,以使data:键将基于索引从数组中获得一个值。

您可以通过以下方式实现此目的,但是请记住,由于缺少代码,我没有考虑功能generateItems

    ...
    const col2 = ["Restoration Events", "Spectrum Utilization", "Segment Utilization"]

    this.state = {
        items2: generateItems(3, (i) => ({ id: '2' + i, data: col2[i] }))
    }

    ...

如果我的猜测正确的话,这可能会为您指明正确的方向,但是您有 提供更多详细信息。否则,没人会帮助您。