我正在开发一个与播放列表有关的项目,所以我想要执行的是,每当单击播放列表中的一首歌曲时,就应该查看附加到该歌曲的图像。所以,我的代码是这样的......
const Component = () => {
const value = useContext(DataContext);
const [data, setData] = useState(null);
const [currentData, setCurrentData] = useState(null);
useEffect(() => {
const url =
"https://52-90-82-235.maverickmaven.com/geotourdata/json.cfm?h=-107,37,s,en,3A771765";
const currentValue = value;
axios({
method: "get",
url,
responseType: "stream",
}).then((response) => {
let features = response.data.features.filter((elem) => {
return elem.type === "Feature";
});
setData(features);
const currentDatafile = data?.filter((data) => {
return data?.assets[0].audio === value;
});
setCurrentData(currentDatafile);
});
}, [setCurrentData]);
};
所以,这段代码的作用是返回包含图片的数组,但问题是它只过滤一次,即使我点击另一首歌曲,它也只会重复返回相同的值,而且我每次点击时都需要它进行过滤在歌曲上(即执行该函数)。
我尝试同时过滤和映射,但没有成功。或者也许我的语法写得不够好。
千万里不及你
人到中年有点甜
相关分类