我正在尝试将两个变量(字符串)传递给redux操作。这样做的目的是组件知道它正在尝试查找的公司简档的ID,并且我们使用redux获取该数据,因为这种模式在几个地方使用。
在组件中:
componentWillMount() {
this.props.actions.getObject('Company', '16747fce-f0b1-422b-aa60-220c2dccac58')
}
在行动中:
export function getObject(dataClass, dataId) {
return {
'BAQEND': {
types: [
GET_OBJECT,
GET_OBJECT_SUCCESS,
GET_OBJECT_FAILURE
],
payload: (db) => db.(dataClass).load(dataId)
}
}
}
dataClass
是公司,dataID
是guid。
我的问题是我无法在那里得到dataClass
变量而没有抛出错误。 dataID
效果很好。如果我要更改payload: (db) => db.Company.load(dataId)
它可行。
我尝试了一些不起作用的事情:
payload: (db) => db.dataClass.load(dataId)
payload: (db) => db.`${dataClass}`.load(dataId)
`payload: (db) => db.${dataClass}.load(dataId)`
答案 0 :(得分:1)
如果我理解正确,db
是一个拥有Company
db = {
Company: 'someGuid'
}
如果是这种情况,那么您可以像这样使用Property accessors:
db['Company']
或db[dataClass]