【发布时间】:2021-05-20 13:13:49
【问题描述】:
我正在创建一个 ReactJS 应用程序并尝试编写一个创建一组类别的函数。
此数据来自api。
const data = [
{
name: '',
category = 'sports'
},
{
name: '',
category = 'food'
},
]
我写了一个获取数据的函数。
const getData = async()=>{
const data = await fetch(url);
// json conversion
setData(data);
}
但是要过滤这个数据数组,我需要将数据传递给另一个过滤函数。我该怎么做才能使我的数据数组以填充值而不是初始空数组传递?
const filterData = ()=>{
// data is global
const categories = [new Set(data.map((item) => item.category))]
}
我的数据数组准备好后如何调用这个函数?或者如何得到想要的结果。
【问题讨论】:
-
如果你想在每次
data更改时更新categories,你可以做useEffect(() => ......., [data]) -
从
getData方法内的api获取数据后调用filterData。
标签: javascript reactjs asynchronous async-await es6-promise