【发布时间】:2026-01-15 16:10:02
【问题描述】:
我正在尝试从 JSON 对象中获取多个 id 并在 useffect 中使用它们。
我不知道如何加入每个 track.id 并用逗号分隔它们以进行 api 调用。
有人知道如何解决这个问题吗?
https://i.stack.imgur.com/FWV1x.png
^^JSON 是什么样子的
useEffect(() => {
console.log(track)
fetch('https://api.spotify.com/v1/tracks?ids=' + track.id, {
headers: { 'Authorization': 'Bearer ' + access_token }
}).then(response => response.json())
.then((data) => {
console.log('Spotify Api Call - Music Page', data)
const tranformedTracks = data.tracks.map(trackData => {
console.log(trackData)
return {
albumCover: trackData.album.images[0].url,
trackName: trackData.name,
artistName: trackData.album.artists[0].name,
};
});
setTopTracks(tranformedTracks);
setTracksLoaded(true);
});
}, []);```
【问题讨论】:
-
tracks.map((track) => track.id).join(',')? -
上述答案的替代方案,您可以使用数组减少,(more info)
data.tracks.reduce((prev, curr) => prev ? prev + "," + curr.id : curr.id, "") -
感谢@dave,我尝试了很长时间,您的解决方案是我第一次尝试并完美运行,谢谢!
标签: javascript reactjs spotify