Zadanie 1: Własny hook
Stwórz własny hook, który będzie zarządzał logiką związaną z sortowaniem danych w aplikacji. Będzie wykorzystywany przez komponenty, które przyjmują kolekcję danych jako propsy. Dla przykładu taki komponent może dostać kolekcję:
const users = [{ id: 1, nickname: 'john', age: 45 }, { id: 2, nickname: 'olivier', age: 32 }, { id: 3, nickname: 'macgyver', age: 65 }];
a następnie hook będzie w stanie posortować tę kolekcję na podstawie dwóch wartości - pola oraz kierunku sortowania (malejąco lub rosnąco). Pole oraz kierunek powinny być argumentami hooka.
Instrukcje:
- Utwórz custom hook, który przyjmuje dane do sortowania jako argumenty.
- Zaimplementuj sortowania filtrowania danych wewnątrz hooka.
- Użyj tego hooka w komponencie i wykonaj sortowanie danych na podstawie określonych warunków.
Zadanie 2: Zarządzanie kontekstami
Wyobraź sobie, że przygotowujesz aplikację internetową, z której będzie korzystało kilku klientów. Każdy z klientów ma swoje logo, nazwę firmy oraz zestaw kolorów (np. Coca-Cola, Starbucks, IBM mają odmienne logotypy i kolory do identyfikacji widualnej). Niech Twoja aplikacja React skorzysta z kontekstów do zmiany wyglądu interfejsu w zależności od wybranej opcji pod konkretnego klienta. Będzie to podobne do skórek, czyli możesz przygotować 3 warianty kolorystyczne aplikacji (skorzystaj np. z https://flatuicolors.com/).
Instrukcje:
- Utwórz kontekst, który będzie przechowywał informacje o wybranej opcji kolorystycznej wyglądu. Dodatkowo niech przechowuje informacje o nazwie firmy oraz posiada ścieżkę do logotypu, który będzie można wyświetlić.
- Stwórz komponent, który pozwoli użytkownikowi wybrać preferowany motyw.
- Wykorzystaj konteksty do dynamicznej zmiany motywu interfejsu w zależności od wyboru użytkownika.
Zadanie 3: Wykorzystanie useReducer
Stwórz system zarządzania użytkownikami przy użyciu hooka useReducer
. Ten system będzie przechowywał informacje o użytkownikach wewnątrz hooka i umożliwi: dodawanie, usuwanie, oraz edycję konkretnego użytkownika. Możesz skorzystać z podobnej struktury, jak w zadaniu 1.
Instrukcje:
- Stwórz reducer z logiką do dodawania, usuwania oraz modyfikacji użytkowników.
- Do dodawania oraz modyfikacji użytkownika skorzystaj z formularzy (możesz użyć np. React Hook Form oraz Zod).
- Stworzy nowy komponent, którego zadaniem będzie wyświetlenie wszystkich użytkowników z reducera.
Zadanie 4: Integracja z Redux
Rozbuduj istniejącą aplikację o zarządzanie stanem przy użyciu biblioteki Redux.
Instrukcje:
- Dodaj Redux Tookit do swojego projektu.
- Przygotuj podobny mechanizm zarządzania użytkownikami, jak w poprzednim zadaniu, ale oparty o store'a Redux.
- Zastosuj reducer i akcje Redux do zarządzania stanem użytkownikami.
- Sprawdź, czy aplikacja poprawnie korzysta z Redux do przechowywania stanu i obsługi akcji.
Zadanie 5: Dodaj routing do projektu
Rozbuduj zadanie 3 oraz 4 w taki sposób, aby lista użytkowników, dodawanie oraz edycja użytkowników była na osobym route.
Instrukcje:
- Zainstaluj bibliotekę React Router DOM.
- Przygotuj strukturę ścieżek URL w aplikacji
- Przygotuj menu nawigacyjne
- Sprawdź, czy aplikacja działa poprawnie i można odwiedzić poszczególne strony
Powodzenia! 💪
Zadanie 1: Własny hook
Stwórz własny hook, który będzie zarządzał logiką związaną z sortowaniem danych w aplikacji. Będzie wykorzystywany przez komponenty, które przyjmują kolekcję danych jako propsy. Dla przykładu taki komponent może dostać kolekcję:
const users = [{ id: 1, nickname: 'john', age: 45 }, { id: 2, nickname: 'olivier', age: 32 }, { id: 3, nickname: 'macgyver', age: 65 }];
a następnie hook będzie w stanie posortować tę kolekcję na podstawie dwóch wartości - pola oraz kierunku sortowania (malejąco lub rosnąco). Pole oraz kierunek powinny być argumentami hooka.
Instrukcje:
- Utwórz custom hook, który przyjmuje dane do sortowania jako argumenty.
- Zaimplementuj sortowania filtrowania danych wewnątrz hooka.
- Użyj tego hooka w komponencie i wykonaj sortowanie danych na podstawie określonych warunków.
Zadanie 2: Zarządzanie kontekstami
Wyobraź sobie, że przygotowujesz aplikację internetową, z której będzie korzystało kilku klientów. Każdy z klientów ma swoje logo, nazwę firmy oraz zestaw kolorów (np. Coca-Cola, Starbucks, IBM mają odmienne logotypy i kolory do identyfikacji widualnej). Niech Twoja aplikacja React skorzysta z kontekstów do zmiany wyglądu interfejsu w zależności od wybranej opcji pod konkretnego klienta. Będzie to podobne do skórek, czyli możesz przygotować 3 warianty kolorystyczne aplikacji (skorzystaj np. z https://flatuicolors.com/).
Instrukcje:
- Utwórz kontekst, który będzie przechowywał informacje o wybranej opcji kolorystycznej wyglądu. Dodatkowo niech przechowuje informacje o nazwie firmy oraz posiada ścieżkę do logotypu, który będzie można wyświetlić.
- Stwórz komponent, który pozwoli użytkownikowi wybrać preferowany motyw.
- Wykorzystaj konteksty do dynamicznej zmiany motywu interfejsu w zależności od wyboru użytkownika.
Zadanie 3: Wykorzystanie useReducer
Stwórz system zarządzania użytkownikami przy użyciu hooka useReducer
. Ten system będzie przechowywał informacje o użytkownikach wewnątrz hooka i umożliwi: dodawanie, usuwanie, oraz edycję konkretnego użytkownika. Możesz skorzystać z podobnej struktury, jak w zadaniu 1.
Instrukcje:
- Stwórz reducer z logiką do dodawania, usuwania oraz modyfikacji użytkowników.
- Do dodawania oraz modyfikacji użytkownika skorzystaj z formularzy (możesz użyć np. React Hook Form oraz Zod).
- Stworzy nowy komponent, którego zadaniem będzie wyświetlenie wszystkich użytkowników z reducera.
Zadanie 4: Integracja z Redux
Rozbuduj istniejącą aplikację o zarządzanie stanem przy użyciu biblioteki Redux.
Instrukcje:
- Dodaj Redux Tookit do swojego projektu.
- Przygotuj podobny mechanizm zarządzania użytkownikami, jak w poprzednim zadaniu, ale oparty o store'a Redux.
- Zastosuj reducer i akcje Redux do zarządzania stanem użytkownikami.
- Sprawdź, czy aplikacja poprawnie korzysta z Redux do przechowywania stanu i obsługi akcji.
Zadanie 5: Dodaj routing do projektu
Rozbuduj zadanie 3 oraz 4 w taki sposób, aby lista użytkowników, dodawanie oraz edycja użytkowników była na osobym route.
Instrukcje:
- Zainstaluj bibliotekę React Router DOM.
- Przygotuj strukturę ścieżek URL w aplikacji
- Przygotuj menu nawigacyjne
- Sprawdź, czy aplikacja działa poprawnie i można odwiedzić poszczególne strony
Powodzenia! 💪
Zadanie 1: Własny hook
Stwórz własny hook, który będzie zarządzał logiką związaną z sortowaniem danych w aplikacji. Będzie wykorzystywany przez komponenty, które przyjmują kolekcję danych jako propsy. Dla przykładu taki komponent może dostać kolekcję:
const users = [{ id: 1, nickname: 'john', age: 45 }, { id: 2, nickname: 'olivier', age: 32 }, { id: 3, nickname: 'macgyver', age: 65 }];
a następnie hook będzie w stanie posortować tę kolekcję na podstawie dwóch wartości - pola oraz kierunku sortowania (malejąco lub rosnąco). Pole oraz kierunek powinny być argumentami hooka.
Instrukcje:
- Utwórz custom hook, który przyjmuje dane do sortowania jako argumenty.
- Zaimplementuj sortowania filtrowania danych wewnątrz hooka.
- Użyj tego hooka w komponencie i wykonaj sortowanie danych na podstawie określonych warunków.
Zadanie 2: Zarządzanie kontekstami
Wyobraź sobie, że przygotowujesz aplikację internetową, z której będzie korzystało kilku klientów. Każdy z klientów ma swoje logo, nazwę firmy oraz zestaw kolorów (np. Coca-Cola, Starbucks, IBM mają odmienne logotypy i kolory do identyfikacji widualnej). Niech Twoja aplikacja React skorzysta z kontekstów do zmiany wyglądu interfejsu w zależności od wybranej opcji pod konkretnego klienta. Będzie to podobne do skórek, czyli możesz przygotować 3 warianty kolorystyczne aplikacji (skorzystaj np. z https://flatuicolors.com/).
Instrukcje:
- Utwórz kontekst, który będzie przechowywał informacje o wybranej opcji kolorystycznej wyglądu. Dodatkowo niech przechowuje informacje o nazwie firmy oraz posiada ścieżkę do logotypu, który będzie można wyświetlić.
- Stwórz komponent, który pozwoli użytkownikowi wybrać preferowany motyw.
- Wykorzystaj konteksty do dynamicznej zmiany motywu interfejsu w zależności od wyboru użytkownika.
Zadanie 3: Wykorzystanie useReducer
Stwórz system zarządzania użytkownikami przy użyciu hooka useReducer
. Ten system będzie przechowywał informacje o użytkownikach wewnątrz hooka i umożliwi: dodawanie, usuwanie, oraz edycję konkretnego użytkownika. Możesz skorzystać z podobnej struktury, jak w zadaniu 1.
Instrukcje:
- Stwórz reducer z logiką do dodawania, usuwania oraz modyfikacji użytkowników.
- Do dodawania oraz modyfikacji użytkownika skorzystaj z formularzy (możesz użyć np. React Hook Form oraz Zod).
- Stworzy nowy komponent, którego zadaniem będzie wyświetlenie wszystkich użytkowników z reducera.
Zadanie 4: Integracja z Redux
Rozbuduj istniejącą aplikację o zarządzanie stanem przy użyciu biblioteki Redux.
Instrukcje:
- Dodaj Redux Tookit do swojego projektu.
- Przygotuj podobny mechanizm zarządzania użytkownikami, jak w poprzednim zadaniu, ale oparty o store'a Redux.
- Zastosuj reducer i akcje Redux do zarządzania stanem użytkownikami.
- Sprawdź, czy aplikacja poprawnie korzysta z Redux do przechowywania stanu i obsługi akcji.
Zadanie 5: Dodaj routing do projektu
Rozbuduj zadanie 3 oraz 4 w taki sposób, aby lista użytkowników, dodawanie oraz edycja użytkowników była na osobym route.
Instrukcje:
- Zainstaluj bibliotekę React Router DOM.
- Przygotuj strukturę ścieżek URL w aplikacji
- Przygotuj menu nawigacyjne
- Sprawdź, czy aplikacja działa poprawnie i można odwiedzić poszczególne strony
Powodzenia! 💪
Szczegóły o kursie oraz programie możesz przeczytać tutaj: https://www.webamigos.pl/szkola-reacta
Szkoła Reacta to program nauki Reacta w formie lekcji wideo, praktycznych ćwiczeń, zadań domowych i konsultacji zgrupowych mentorem. Otrzymujesz również dostęp do społeczności na komunikatorze Discord, aby efektywniej uczyć się w grupie.