FunctionExpression va FunctionDeclaration nima? Ularning asosiy farqi nima?
Frontend
Ma'lumotlarni kitoblar va ularning mualliflari haqida oling. Ma'lumotlarni sahifaga 10 ta kitobdan iborat ro'yxatda ko'rsating formatda: <kitob nomi> - <muallif> api: [link] spesifikatsiya: [link] swagger ochilmasa, sber-c55-books-mock-1.0.1-oas3.1-resolved.yaml asosida const PAGE_SIZE = 10; export default function App() { const [books, setBooks] = useState([]) const [page, setPage] = useState(1); const [loading, setLoading] = useState(false) useEffect(() => { setLoading(true); fetch('[link]') .then((res) => res.json()) .then((data) => { setBooks(data); setLoading(false); }) .catch(() => setLoading(false)); }, [page]); const totalPage = Math.ceil(books.length / PAGE_SIZE); const start = (page - 1) * PAGE_SIZE; const currentBooks = books.slice(start, start + PAGE_SIZE); return ( <div className="App"> {loading && <p>Yuklanmoqda...</p>} <ul> {currentBooks.map((book, index) => ( <li key={index}>{book.title} - {book.author}</li> ))} </ul> <div> <button disabled={page === 1} onClick={() => setPage(page - 1)}> Ortga </button> <button disabled={page === totalPage} onClick={() => setPage(page + 1)}> Keyingisi </button> </div> </div> ); } Xatolarni tuzatish va mualliflar bilan kitoblar ro'yxatini sahifali tarzda ko'rsatishni amalga oshirish.
Oldingi ish tajribangiz va foydalanilgan texnologiyalar haqida gapiring.
Nima uchun localForage yoki IndexedDB ustiga boshqa qoplamani ishlatmadingiz?
IndexedDB'da xotira cheklovlari nima va ular nimaga bog'liq?
Nima uchun loyihalar va skriptlarning holatini saqlash uchun IndexedDB tanlandi, localStorage yoki sessionStorage emas?