添加导入对象时的括号表示法

时间:2018-05-17 06:57:51

标签: reactjs redux store

在我的数组中的redux商店中,我存储了几个项目,我将这些项目作为导出存入。

为了形象化,我有单独的文件,我存储的内容如下:

export const item1 = {
    name: 'item',
}

export const item2 = {
    name: 'item',
}

等。然后我将它导入到reducer中,如下所示:

import * as items from './items';

最后,reducer看起来像这样:

stuff: [
    items.item1,
    items.item2
]

现在我想创建一个动作,允许我在reducer数组中添加更多对象,这些对象将作为文件中的对象导入。尝试括号表示如下:

{
    ...state[0],
    stuff:[
        ...state[0].stuff,
        items['action.item']
    ]
},

但是我收到错误“导出'action.item'(导入为'items')在'./items'中找不到”,所以我没想法。

我该怎么做? Action将新项目名称作为字符串传递。

1 个答案:

答案 0 :(得分:1)

{
      ...state[0],
      stuff:[
         ...state[0].stuff,
         items[`${action.item}`]
      ]
},

据我所知,你将action.item作为字符串传递。尝试上述方法。它应该解决这个问题。

  

注意:如果没有提及reducer文件的完整代码,也是如此   items.js文件