直接上例子
const BlogList: React.FunctionComponent<IProps> = (props: IProps) => {
let [fakedata, setFakeData] = React.useState<blogsData>([]);
React.useEffect(() => {
async function temp () {
let res = await getBlogsData();
let data: blogsData = (res as blogFromData).map(value => {
return {
title: value.title,
description: value.description ? value.description : "",
date: new Date(value.createDate).toLocaleDateString(),
views: value.views,
likes: value.likes,
labels: value.labels
}
})
setFakeData(data);
}
temp();
}, [])
...
注意:在useEffect中不能直接使用async函数,因为只要是async函数就会返回一个Promise,因此我们需要再套一层函数,然后再赋值。