1 回答
TA贡献1770条经验 获得超3个赞
您始终可以在渲染之前进行检查并渲染后备加载指示器..
return (
post ?
<div className={"section"}>
<div className={"container"}>
<div className={"first-post"}>
<div className={"first-post-title"}>
<h2>
{post.title.length > 20
? post.title.slice(0, 85) + " ..."
: post.title}
</h2>
</div>
</div>
</div>
</div>
: "loading..."
)
上面的代码仅在定义后才加载 post,否则返回“loading”。
在useEffect钩子内部,您可以调用 API 并设置状态。
useEffect(() => {
fetch("URL")
.then(response => response.json())
.then(json => setPost(json));
}, [])
API 调用完成后,状态会发生变化,并且组件会使用发布数据重新呈现。
一个例子https://stackblitz.com/edit/react-htofev
添加回答
举报