Wat is een FunctionExpression en een FunctionDeclaration? Wat is het belangrijkste verschil?
Frontend
Haal gegevens op over boeken en hun auteurs. Toon de gegevens in een gepagineerde lijst van 10 boeken per pagina in het formaat: <titel van het boek> - <auteur> api: [link] specificatie: [link] als swagger niet opent, in de root 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>Bezig met 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)}> Vorige </button> <button disabled={page === totalPage} onClick={() => setPage(page + 1)}> Volgende </button> </div> </div> ); } Corrigeer de fouten en implementeer de paginagestuurde weergave van een boekenlijst met auteurs.
Vertel ons over je eerdere werkervaring en de gebruikte technologieën.
Waarom hebben jullie geen gebruik gemaakt van localForage of een andere wrapper over IndexedDB?
Wat zijn de geheugenbeperkingen in IndexedDB en waar hangen ze vanaf?
Waarom is IndexedDB gekozen voor het opslaan van concepten en de status van scripts in plaats van localStorage of sessionStorage?