采用以下示例:
getOptions() {
let options = {};
if (this.props.location.hasOwnProperty('query')) {
const query = this.props.location.query;
const queriesMap = {
'createdBy': 'createdBy',
'state': 'state',
'created_from': 'created_at[from]',
'created_to': 'created_at[to]'
};
Object.keys(query).map(function(key) {
if(queriesMap.hasOwnProperty(key)) {
options = Object.assign(options, { queriesMap[key]: query[key] });
}
});
}
return options;
}
我正在使用queriesMap
对象来映射url参数,以构建一个新的url来调用API。问题是,当我尝试从.map回调中访问query
时,query
未定义。
如何访问this.message
变量?
答案 0 :(得分:2)
您似乎错过[]
周围的queriesMap[key]
。所以它应该是options = Object.assign(options, { [queriesMap[key]]: query[key] });
。
此外,您可以options[queriesMap[key]] = query[key]
而不是Object.assign