Was ist eine FunctionExpression und eine FunctionDeclaration? Was ist ihr Hauptunterschied?
Frontend
Daten zu Büchern und ihren Autoren abrufen. Daten in einer paginierten Liste mit 10 Büchern pro Seite anzeigen im Format: <Buchtitel> - <Autor> api: [Link] Spezifikation: [Link] Wenn Swagger nicht geöffnet wird, im Stammverzeichnis 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>Laden...</p>} <ul> {currentBooks.map((book, index) => ( <li key={index}>{book.title} - {book.author}</li> ))} </ul> <div> <button disabled={page === 1} onClick={() => setPage(page - 1)}> Zurück </button> <button disabled={page === totalPage} onClick={() => setPage(page + 1)}> Weiter </button> </div> </div> ); } Fehler korrigieren und die paginierte Anzeige einer Buchliste mit Autoren implementieren.
Berichten Sie uns von Ihrer bisherigen Berufserfahrung und den verwendeten Technologien.
Warum haben Sie kein localForage oder ein anderes Wrapper über IndexedDB verwendet?
Welche Speicherbegrenzungen gibt es bei IndexedDB und wovon hängen sie ab?
Warum wurde IndexedDB für die Speicherung von Entwürfen und dem Zustand der Skripte gewählt und nicht localStorage oder sessionStorage?