我的状态是这样的:
fbPages:{'123':'Teste','142':'Teste2'}
但我动态地需要这样的东西:
async getFbPages(){
var fbPages = {}
await this.props.resultPosts.facebookPagesList.data.map(item => {
fbPages.push({item.id: item.name});
});
this.setState({fbPages});
console.log(this.state);
}
我在这里遇到错误fbPages.push({item.id: item.name});
,我该怎么做?
答案 0 :(得分:0)
您使用的是push
,但fbPages
不是数组。
如果要向对象添加其他属性,请改为fbPages[item.id] = item.name;
var fbPages = {};
await this.props.resultPosts.facebookPagesList.data.map(item => {
fbPages[item.id] = item.name;
});
除非您想要一个数组,否则请将其声明为var fbPages = []
var fbPages = [];
await this.props.resultPosts.facebookPagesList.data.map(item => {
fbPages.push({
item.id: item.name
});
});
答案 1 :(得分:0)
对象不支持您需要将fbPages
定义为数组
var fbPages= [];
fbPages[0] ={'123':'Teste','142':'Teste2'}
在功能
中async getFbPages(){
var fbPages= [];
await this.props.resultPosts.facebookPagesList.data.map(item => {
fbPages.push({item.id: item.name});
});
this.setState({fbPages});
console.log(this.state);
}
答案 2 :(得分:0)
请在下面找到示例代码段:
const items = [{
id:'123',
name:'Teste'
},{
id: '142',
name: 'Teste2'
}];
let fbPages = []; // This should be array.
items.map((item)=> {
fbPages.push({
[item.id]: item.name
})
});
console.log(fbPages);