Ga naar hoofdinhoud

Labo 2

Voor dit labo moet je de volgende theorie bekeken hebben:

  • Componenten
  • Props
  • Folder structuur
  • Styling

1. Simpele componenten

Maak een nieuwe React applicatie aan en noem deze labo2-component.

Maak de volgende componenten aan:

  • Header met als props title en subtitle
  • List met als props items (array van strings).
    • Elke string wordt getoond in een apart component ListItem met als props text.
    • Gebruik hiervoor de map functie.
    • Gebruik een ongeordende lijst (<ul>) om de items te tonen.
  • Footer met als props copy en year

Gebruik deze componenten in de App component om de volgende pagina te maken:

Labo 2

Basic components

  • item 1
  • item 2
  • item 3

© Andie Similon (2021)

Oplossingsvideo

2. Facebook cards

Maak een nieuw project aan en noem deze labo2-facebook.

Neem de volgende code over.

Teken eerst op papier hoe je deze facebook card zou opdelen in componenten. Splits deze componenten op in aparte componenten. Zorg dat alle content aanpasbaar is via props.

Let er op dat componenten ook kunnen bestaan uit andere componenten.

Oplossingsvideo

3. Slotmachine

Gebruik de slotmachine code die je in labo 1 hebt geschreven en zorg voor de volgende dingen:

  • SlotMachine: aanvaard een property slots die het aantal slots aangeeft. Deze component bevat de logica om de slots te genereren en te tonen. Je kan deze component ook gebruiken om de logica te schrijven om te bepalen of de speler gewonnen heeft of verloren heeft.

    <SlotMachine slots={5} />
  • Slot: deze component bevat de logica om een slot te tonen. De waarde van de slot wordt doorgegeven via een property value.

    <Slot value={1} />
  • Zorg ervoor dat je meerdere slotmachines kan tonen op een pagina. Toon bijvoorbeeld een SlotMachine met 5 slots, een SlotMachine met 4 slots en een SlotMachine met 3 slots.

  • Gebruik css modules om de stijl van de slotmachine te bepalen. Je bent vrij om de stijl te kiezen.

De applicatie moet ongeveer er als volgt uitzien:

Labo 2: Slots

Je hebt verloren

Je hebt verloren

Je hebt verloren


Oplossingsvideo

4. Maaltafels component

Maak een kopie van de maaltafels oefening van labo 1 en zorg ervoor dat je de volgende componenten hebt:

  • MultiplicationTable: deze component bevat de logica om de tabel te tonen. Deze component bevat een property max die het maximum getal aangeeft dat getoond moet worden.

    <MultiplicationTable max={5} />
  • MultiplicationRow: deze component bevat de logica om 1 rij van de tabel te tonen. Deze component bevat een property factor die het getal aangeeft waarvan de tafel getoond moet worden. Deze component bevat ook een property max die het maximum getal aangeeft dat getoond moet worden.

    <MultiplicationRow factor={2} max={5} />
  • Header: deze component bevat de logica om de header van de tabel te tonen. Deze component bevat een property max die het maximum getal aangeeft dat getoond moet worden.

    <Header max={5} />

De applicatie moet ongeveer er als volgt uitzien:

12345
112345
2246810
33691215
448121620
5510152025
1234567
11234567
22468101214
336912151821
4481216202428
55101520253035
66121824303642
77142128354249
12345678910
112345678910
22468101214161820
336912151821242730
4481216202428323640
55101520253035404550
66121824303642485460
77142128354249566370
88162432404856647280
99182736455463728190
10102030405060708090100