在我的数组中的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将新项目名称作为字符串传递。
答案 0 :(得分:1)
{
...state[0],
stuff:[
...state[0].stuff,
items[`${action.item}`]
]
},
据我所知,你将action.item作为字符串传递。尝试上述方法。它应该解决这个问题。
注意:如果没有提及reducer文件的完整代码,也是如此 items.js文件