Skip to content

Commit

Permalink
fix typo
Browse files Browse the repository at this point in the history
  • Loading branch information
FilipJirsak committed May 18, 2024
1 parent 3804b4c commit 707db5a
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion daweb/react/leviexpress-2/cvlekce/stav-sedadla.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ V předchozí verzi projektu jsme sedadlo pro rezervaci získali z hodnoty `auto
1. Nyní chceme být schopní změnit stav `userSeat` při kliknutí na komponentu `Seat`, která je ovšem zanořena v hlubinách komponenty `SeatPicker`. Mezi komponentami `Seat` a `HomePage` je vztah potomek - pra-prarodič. Komunikace mezi nimi tedy musí probíhat skrze komponenty `SeatRow` a `SeatPicker`.
1. Obě komponenty `SeatPicker` i `SeatRow` musí mít proto _prop_ `onSeatSelected`. Komponenta `SeatRow` tuto funkci/callback předá všem svým `Seat` jako _prop_ `onSelect`. Komponenta `SeatPicker` funkci `onSeatSelected` předá dolů komponentě `SeatRow` skrze stejnojmennou _prop_. Takto můžeme z prarodiče `SeatPicker` propašovat funkci do vnuka `Seat`.
1. Nyní stačí komponentě `SeatPicker` skrze _prop_ `onSeatSelected` předat funkci `setUserSeat`, která nastaví stav v komponentě `HomePage`. Pokud se povedlo vše správně propojit, při kliknutí na sedadlo se změní stav `userSeat` v komponentě `HomePage` a plánek zobrazí vybrané sedadlo. Vyzkoušejte v prohlížeči, že vše správně funguje.
1. Pokud zkusít ekliknout na sedadlo, které už je obsazené, zjistíte, že i takové sedadlo jde vybrat. V komponentě `Seat`tedy ještě upravte zpracování události `click` tak, aby se callback `onSelect` zavolal jen v případě, že sedadlo ještě není obsazené.
1. Pokud zkusíte kliknout na sedadlo, které už je obsazené, zjistíte, že i takové sedadlo jde vybrat. V komponentě `Seat`tedy ještě upravte zpracování události `click` tak, aby se callback `onSelect` zavolal jen v případě, že sedadlo ještě není obsazené.
1. Pokud jste došli až sem, váš projekt je téměř hotový. Stačí už je v obsluze tlačítka pro rezervaci místo `autoSeat` (funkce `handleBuy` v komponentě `HomePage`) použít stav `userSeat`.
1. Pročistěte kód od všech nepotřebných výpisů, zakomentovaných částí kódu a jiných pozůstatků vývoje.
1. Pokud se vše povedlo, váš projekt LeviExpress je hotový. Umožní uživateli vybrat, odkud kam chce jet, datum cesty i sedadlo, a rezervovat si jízdenku.
Expand Down

0 comments on commit 707db5a

Please sign in to comment.