FunctionExpression жана FunctionDeclaration эмне? Алардын негизги айырмасы эмнеде?
Frontend
Китептер жана алардын авторлору тууралуу маалымат алыңыз. Маалыматты 10 китептен турган баракча боюнча бөлүнгөн тизмеде көрсөтүңүз форматта: <китептин аты> - <автор> api: [ссылка] спецификация: [ссылка] эгер swagger ачылбаса, sber-c55-books-mock-1.0.1-oas3.1-resolved.yaml негизинде const PAGE_SIZE = 10; экспорт default функция App() { const [books, setBooks] = useState([]) const [page, setPage] = useState(1); const [loading, setLoading] = useState(false) useEffect(() => { setLoading(true); fetch('[ссылка]') .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>Жүктөө...</p>} <ul> {currentBooks.map((book, index) => ( <li key={index}>{book.title} - {book.author}</li> ))} </ul> <div> <button disabled={page === 1} onClick={() => setPage(page - 1)}> Алдыңкы </button> <button disabled={page === totalPage} onClick={() => setPage(page + 1)}> Кийинки </button> </div> </div> ); } Ката кетирилген жерлерди оңдоп, авторлору менен китептердин тизмесин баракчалап көрсөтүүнү ишке ашырыңыз.
Өткөн иш тажрыйбаңыз жана колдонгон технологияларыңыз жөнүндө айтып бериңиз.
Неге localForage же башка IndexedDB үстүндөгү капкакты колдонбодуңуз?
IndexedDBдеги эс тутум чектөөлөрү эмнелер жана алар эмнелерге көз каранды?
Неге сценарийлердин жана долбоорлордун абалын сактоо үчүн IndexedDB тандалды, localStorage же sessionStorage эмес?