我在React中有一个对象列表。我可以.map
对象。但我不想要它们。我需要根据属性进行过滤。所以我这样做:
const myFilteredList = myList.filter((item) => {
return item.name === 'the filter';
});
一旦我这样做,我无法映射myFilteredList
:
Uncaught (in promise) TypeError: myFilteredList.map is not a function
我理解这意味着它现在是一个对象而不是数组,所以我尝试了这个,旨在将其转换为数组:
let theArray = []
theArray = Object.keys(resultCampaigns).map(key => resultCampaigns[key]);
但我仍无法映射theArray
这样做的正确方法是什么?
答案 0 :(得分:0)
答案最终与我试图做的事情无关,但我会在这里发布,以便其他人可以看到。我试图在我的问题中提出的事情将起作用。他们没有为我工作,因为我通过这样做在myFilteredList
设置了render()
的价值:
const myFilteredList = this.state;
我认为这会覆盖我的过滤数组。不要那样做。我删除了上面的代码行,现在没关系。我只是通过
来访问数组this.state.myFilteredList
而不仅仅是myFilteredList
编辑:
我的真正问题在下面的评论中列出。我只是忘记了const { myFilteredList } = this.state;
中的花括号我已经更新了我的代码以反映这个微小的变化,现在它很好。