我有一個簡單的函陣列件,我在其中制作一個.get() call
,然后在我的后面,我jsx
只是mapping through using .map()
一個列印資料的陣列。
但由于某種原因,array
它無法識別并且它沒有列印資料。
useEffect()
作業正常。它正在注銷資料。但是,這books array
只是不作業,我無法弄清楚為什么
下面是代碼。
const [books, setBooks] = useState([]);
const [loading, setLoading] = useState(false);
const [error, setError] = useState();
useEffect(() => {
setLoading(true);
axios
.get("database.json")
.then((response) => {
const request = response.data.results.books;
console.log("request", request);
setBooks(books);
})
.catch(function (error) {
// handle error
console.log(error);
})
.finally(() => {
setLoading(false);
});
}, []);
if (loading) {
return <p>Data is loading...</p>;
}
if (error || !Array.isArray(books)) {
return <p>There was an error loading your data!</p>;
}
return (
<div className="row">
<h2>LOREN IPSUM</h2>
<div className="row__posters">
{books.map((book) => (
<img
// onClick={() => handleClick(book)}
key={book.title}
className="row__poster row__posterLarge"
src={book.book_image}
alt={book.title}
/>
))}
</div>
{/* {description && <span /> />} */}
</div>
); }
uj5u.com熱心網友回復:
setBooks(books);
您正在使用它們的當前值更新這些書籍。
=> 將其更改為setBooks(request);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/504908.html
下一篇:如何將平面串列轉換為嵌套字典