Ce este FunctionExpression și FunctionDeclaration? Care este diferența lor principală?
Frontend
Obțineți date despre cărți și autorii lor. Afișați datele într-o listă paginată de 10 cărți pe pagină în formatul: <titlul cărții> - <autor> api: [link] specificație: [link] dacă swagger nu se deschide, în rădăcina sber-c55-books-mock-1.0.1-oas3.1-resolved.yaml 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>Se încarcă...</p>} <ul> {currentBooks.map((book, index) => ( <li key={index}>{book.title} - {book.author}</li> ))} </ul> <div> <button disabled={page === 1} onClick={() => setPage(page - 1)}> Înapoi </button> <button disabled={page === totalPage} onClick={() => setPage(page + 1)}> Înainte </button> </div> </div> ); } Corectează erorile și implementează afișarea paginată a listei de cărți cu autori.
Spuneți-ne despre experiența dvs. anterioară de lucru și tehnologiile utilizate.
De ce nu ați folosit localForage sau alt înveliș peste IndexedDB?
Care sunt limitările de memorie în IndexedDB și de ce depind?
De ce a fost aleasă IndexedDB pentru stocarea proiectelor și a stării scripturilor în loc de localStorage sau sessionStorage?