我正在嘗試從 JSON 檔案中的第一個物件中獲取資料。
const apiUrl =
'https://opentdb.com/api.php?amount=10&difficulty=hard&type=boolean';
function App() {
const [items, setItems] = useState([]);
useEffect(() => {
async function fetchData() {
await fetch(apiUrl)
.then((res) => {
return res.json();
})
.then((data) => {
setItems(data.results);
console.log(data.results);
})
.catch((error) => {
console.log(error);
});
}
fetchData();
}, []);
return (
<div>
<h2>First Item Category: {items[0].category}</h2>
</div>
);
}
export default App;
但是,我不斷收到錯誤“型別錯誤:無法讀取未定義的屬性(正在讀取‘類別’)”。
誰能幫我解決這個問題?謝謝!
uj5u.com熱心網友回復:
您需要檢查 的存在items,因為組件在請求結束之前呈現
if(!items.length) return <></> {/*u can use loader here*/}
return (
<div>
<h2>First Item Category: {items[0].category}</h2>
</div>
);
或者
return (
<div>
<h2>First Item Category: {items[0]?.category}</h2>
</div>
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/344615.html
上一篇:Kivy:異步更新標簽
