【发布时间】:2020-05-06 00:12:07
【问题描述】:
hmm.. 我尝试了一些方法,但无法让它发挥作用......我知道它应该比我做的更简单。
我想创建一个没有重复的数组。你能帮帮我吗?
useEffect(() => {
allBands.forEach(band => {
if(!availableGenres.includes(band.bandGenre)){
setAvailableGenres(genres => [...genres, band.bandGenre])
}
})
}, [allBands])
【问题讨论】:
-
能否提供
allBands、genres和availableGenres?我们不知道您使用的是什么结构。 -
下面的答案有效——但我很好奇你是否有其他想法。 allBands 是一个对象数组,每个对象都有一个 bandGenre。我使用 forEach() 方法从 allBands 数组中的每个对象中提取流派。 -- availableGenres 和 setAvailableGenres 是我存储提取的流派的反应中 useState 的一部分。 'genres' 是状态的更新器。感谢您的回复!
标签: javascript reactjs use-effect use-state