Upravíme stav v Reactové hře, kde ovládáte berušku a chodíte s ní po rozkvetlé louce.
-
Udělejte fork repozitáře s naprogramovanou hrou.
-
Pomocí
npm installanpm run devhru spusťte a vyzkoušejte, že funguje. -
Pozice a orientace berušky je v komponentě
Appreprezentována třemi stavy. Z toho dva z nich se vždy mění společně. Navíc musíme berušce vždy předávat tři prop. To je nešikovné. -
Upravte komonentu
Apptak, aby místo tří samostatných stavůposX,posYadirectionpoužívala jeden objektový stav s názvemladybugState, který bude obsahovat všechny tři vlastnosti.Pro stav si budete muset vytvořit interface a ten pak nastavit jako typ pro
useState.Zachovejte immutabilitu stavu a uvnitř funkce
handleKeyUpho měňte pomocí spreadů. -
Upravte komponentu
Ladybugtak, aby místo tří prop používala pouze jednu, ve které očekává celý objekt. Bude třeba upravit interfaceLadybugProps. Snažte se vyhnout duplikování kódu (to se týká i definice typů a interfaců), nezapomeňte, že typy lze z jedné komponenty exportovat a do druhé importovat. -
Vyzkoušejte, že po vašem zásahu hra funguje :)