javascript - 无法在 reactjs 中呈现等待屏幕
问题描述
function Events(){
const [items, setItems] = useState([])
const fetchItems = async () =>{
const data = await fetch('https://jsonplaceholder.cypress.io/todos/')
const items = await data.json();
return items
}
useEffect(() =>{
fetchItems().then((items) =>{
setItems(items)});
},[]
);
if (items ===null) {
return <h2>Loading posts...</h2>;
}
return (
<div>
{items.map(item=>
<h1 key = {item.id}>
<Link to={`/Events/${item.id}`}>{item.title} </Link>
</h1>
)}
</div>
);
在给定的代码中,当从 api 获取时,If 语句未运行。我对反应还很陌生,JavaScript 请帮我找出我的错误
解决方案
你可以简单地做到这一点:
return (
<div>
{items ? items.map(item=>
<h1 key = {item.id}>
<Link to={`/Events/${item.id}`}>{item.title} </Link>
</h1>
) : <h2>Loading Posts...</h2>}
</div>
);
推荐阅读
- javascript - 无法使用可读格式的 JavaScript 读取 IndexedDB sqlite 文件
- android - 完全初始化后刷新或重建颤振小部件
- google-analytics - 为什么谷歌标签管理器事件没有反映在 GA 4 报告中?
- java - 使用 CXF 向 JAX-RS 添加自定义安全上下文
- jenkins-pipeline - 如何访问标签中轴的值?
- python - 监控通过 Airflow 启动的 EC2 实例
- specifications - Compliance with BEM specifications
- ruby-on-rails - Activerecord查询整数成员的postgres jsonb数组
- python - 如何在 Tkinter 中更新滚动条的文本?
- html - 滚动条位置粒度