问题描述
我的问题是,当我调用函数 getAllFlashCardsFromQuest() 时,它会调用在所有页面中创建的所有闪存卡,我只想要来自特定路径名的对象,或者一种过滤卡片数组的方法。
async function getCards() {
let cardsValues = await getAllFlashCardsFromQuest() as FlashCard[]
let cardsFiltered = cardsValues.filter(()=>{
return history.location.pathname === 'CriaralternativaQuest'
})
console.log(cardsFiltered)
setCards(cardsFiltered)
}
解决方法
您的代码没有太多上下文,所以我只能提供这么多帮助,但有一件事是肯定的,那就是 history.location.pathname
没有改变,您将它与另一个常量进行比较。所以 cardsFiltered
要么是一个 true 列表,要么是一个 false 列表。
每当您过滤列表时,您都需要获取每个项目或每个项目的属性并将其用于比较。
例如
async function getCards() {
let cardsValues = await getAllFlashCardsFromQuest() as FlashCard[]
let cardsFiltered = cardsValues.filter((cardValueItem) => {
return cardValueItem.pathname === 'CriarAlternativaQuest'
})
}
问题是您需要弄清楚您需要将 cardsValues
列表中的哪些值或属性与“CriarAlternativaQuest”进行比较