https://hook.eu1.make.com/l745h29yrjj2pp78eyrh4ppj5qxrgqet

Lekcja tekstowa

1. Modyfikowalny button

Napisz komponent przycisku Button. Ale nie będzie to taki zwykły przycisk - będzie posiadał pewnie niezwykłe właściwości ;) Do stworzenia tego komponentu skorzystaj z tagu button, w taki sposób, aby można było przekazać props label, który będzie wyświetlał jego etykietkę.

Poza tym komponent powinien przyjmować props bgColor oraz color, które będą odpowiednio zmieniały kolor tła oraz kolor etykiety. Kolory powinny być zdefiniowane jako słownik w komponencie, czyli zamiast hex przekazujemy string np. red. Kolory możesz pobrać z palety kolorów: https://flatuicolors.com/

Przykładowo, jeśli skorzystam z palety https://flatuicolors.com/palette/defo, to powinienem wpisać:  



Zdefiniuj domyślne wartości dla propsów bgColor oraz color (tak, nie było tego jeszcze w materiałach ;)


Modyfikacja 1

Jeśli nie chcesz korzystać z propsa label, to spokojnie możesz skorzystać z children, aby zapisywać komponent w taki sposób:

Click me

Modyfikacja 2

Rozszerz swój przycisk możliwość wyświetlania ikony przed etykietą label. Skorzystaj do tego z tej biblioteki

Przykład:

Spowoduje wyświetlenie ikony user przed etykietą Click me.



2. Input i Textarea

Przygotuj komponenty Input oraz Textarea, które podobnie jak komponent Button przyjmą propsy bgColor dla tła oraz color dla koloru wpisywanego tekstu. Dodatkowo te komponenty powinny mieć propsy, które pozwolą na zmianę obramowania: borderSize, borderRadius, borderColor.

3. Eksport komponentów Button, Input i Textarea

Mając przygotowane komponenty Button, Input oraz Textarea stwórz folder Form, w którym się znajdą, a następnie przygotuj plik index.js, w którym zdefiniujesz eksporty. Eksporty powinny być tak zdefiniowane, abym w każdym miejscu aplikacji mógł skorzystać z importu:

import { Button, Input, Textarea } from 'sciezka_do_Form';


Modyfikacja

Spróbuj skorzystać z absolutnych importów, aby nie musieć podawać pełnej ścieżki. Przykładowo, jeśli komponenty znajdują się w folderze components/Form, to import będzie wyglądał następująco:

import { Button, Input, Textarea } from 'components/Form';


4. Komponent Card

Przygotuj component Card podobny do tego. Możesz pominąć trzy kropki po prawej stronie. Ikonki można również pominąć, a rozwijaną treść dodatkową możesz pokazywać za pomocą propsa showMore, który będzie przyjmował wartość logiczną np.:


5. Przygotuj menu nawigacyjne

Napisz komponenty odpowiedzialne za pokazywanie menu po lewej stronie aplikacji. Stwórz komponenty Menu oraz MenuLink, aby stosować je w następujący sposób:

  Home   About   Contact   Posts

 

Jeśli komponent MenuLink posiada propsa isActive to znaczy, że trzeba wyróżnić etykietę np. czerwonym kolorem.


6. Lista pracowników

Stwórz component Employees, który będzie się składał z dwóch kolumn. Lewa będzie zawierała informacje o pracowniku takie jak imię i nazwisko, natomiast prawa będzie z czasem wyświetlała informacje bardziej szczegółowe (rozwiwniemy to zadanie w kolejnych tygodniach). Pracowników możesz przechowywać w tablicy z obiektami np. data i przekazywać do komponentu Employees.

Po kliknięciu w imię i nazwisko, w kolumnie po prawej stronie pojawiają się szczegółowe informacje o pracowniku jak wiek, płaca, stanowisko.

Wszystko ma działać bez routingu.

Lekcja audio

1. Modyfikowalny button

Napisz komponent przycisku Button. Ale nie będzie to taki zwykły przycisk - będzie posiadał pewnie niezwykłe właściwości ;) Do stworzenia tego komponentu skorzystaj z tagu button, w taki sposób, aby można było przekazać props label, który będzie wyświetlał jego etykietkę.

Poza tym komponent powinien przyjmować props bgColor oraz color, które będą odpowiednio zmieniały kolor tła oraz kolor etykiety. Kolory powinny być zdefiniowane jako słownik w komponencie, czyli zamiast hex przekazujemy string np. red. Kolory możesz pobrać z palety kolorów: https://flatuicolors.com/

Przykładowo, jeśli skorzystam z palety https://flatuicolors.com/palette/defo, to powinienem wpisać:  



Zdefiniuj domyślne wartości dla propsów bgColor oraz color (tak, nie było tego jeszcze w materiałach ;)


Modyfikacja 1

Jeśli nie chcesz korzystać z propsa label, to spokojnie możesz skorzystać z children, aby zapisywać komponent w taki sposób:

Click me

Modyfikacja 2

Rozszerz swój przycisk możliwość wyświetlania ikony przed etykietą label. Skorzystaj do tego z tej biblioteki

Przykład:

Spowoduje wyświetlenie ikony user przed etykietą Click me.



2. Input i Textarea

Przygotuj komponenty Input oraz Textarea, które podobnie jak komponent Button przyjmą propsy bgColor dla tła oraz color dla koloru wpisywanego tekstu. Dodatkowo te komponenty powinny mieć propsy, które pozwolą na zmianę obramowania: borderSize, borderRadius, borderColor.

3. Eksport komponentów Button, Input i Textarea

Mając przygotowane komponenty Button, Input oraz Textarea stwórz folder Form, w którym się znajdą, a następnie przygotuj plik index.js, w którym zdefiniujesz eksporty. Eksporty powinny być tak zdefiniowane, abym w każdym miejscu aplikacji mógł skorzystać z importu:

import { Button, Input, Textarea } from 'sciezka_do_Form';


Modyfikacja

Spróbuj skorzystać z absolutnych importów, aby nie musieć podawać pełnej ścieżki. Przykładowo, jeśli komponenty znajdują się w folderze components/Form, to import będzie wyglądał następująco:

import { Button, Input, Textarea } from 'components/Form';


4. Komponent Card

Przygotuj component Card podobny do tego. Możesz pominąć trzy kropki po prawej stronie. Ikonki można również pominąć, a rozwijaną treść dodatkową możesz pokazywać za pomocą propsa showMore, który będzie przyjmował wartość logiczną np.:


5. Przygotuj menu nawigacyjne

Napisz komponenty odpowiedzialne za pokazywanie menu po lewej stronie aplikacji. Stwórz komponenty Menu oraz MenuLink, aby stosować je w następujący sposób:

  Home   About   Contact   Posts

 

Jeśli komponent MenuLink posiada propsa isActive to znaczy, że trzeba wyróżnić etykietę np. czerwonym kolorem.


6. Lista pracowników

Stwórz component Employees, który będzie się składał z dwóch kolumn. Lewa będzie zawierała informacje o pracowniku takie jak imię i nazwisko, natomiast prawa będzie z czasem wyświetlała informacje bardziej szczegółowe (rozwiwniemy to zadanie w kolejnych tygodniach). Pracowników możesz przechowywać w tablicy z obiektami np. data i przekazywać do komponentu Employees.

Po kliknięciu w imię i nazwisko, w kolumnie po prawej stronie pojawiają się szczegółowe informacje o pracowniku jak wiek, płaca, stanowisko.

Wszystko ma działać bez routingu.

Zadanie

1. Modyfikowalny button

Napisz komponent przycisku Button. Ale nie będzie to taki zwykły przycisk - będzie posiadał pewnie niezwykłe właściwości ;) Do stworzenia tego komponentu skorzystaj z tagu button, w taki sposób, aby można było przekazać props label, który będzie wyświetlał jego etykietkę.

Poza tym komponent powinien przyjmować props bgColor oraz color, które będą odpowiednio zmieniały kolor tła oraz kolor etykiety. Kolory powinny być zdefiniowane jako słownik w komponencie, czyli zamiast hex przekazujemy string np. red. Kolory możesz pobrać z palety kolorów: https://flatuicolors.com/

Przykładowo, jeśli skorzystam z palety https://flatuicolors.com/palette/defo, to powinienem wpisać:  



Zdefiniuj domyślne wartości dla propsów bgColor oraz color (tak, nie było tego jeszcze w materiałach ;)


Modyfikacja 1

Jeśli nie chcesz korzystać z propsa label, to spokojnie możesz skorzystać z children, aby zapisywać komponent w taki sposób:

Click me

Modyfikacja 2

Rozszerz swój przycisk możliwość wyświetlania ikony przed etykietą label. Skorzystaj do tego z tej biblioteki

Przykład:

Spowoduje wyświetlenie ikony user przed etykietą Click me.



2. Input i Textarea

Przygotuj komponenty Input oraz Textarea, które podobnie jak komponent Button przyjmą propsy bgColor dla tła oraz color dla koloru wpisywanego tekstu. Dodatkowo te komponenty powinny mieć propsy, które pozwolą na zmianę obramowania: borderSize, borderRadius, borderColor.

3. Eksport komponentów Button, Input i Textarea

Mając przygotowane komponenty Button, Input oraz Textarea stwórz folder Form, w którym się znajdą, a następnie przygotuj plik index.js, w którym zdefiniujesz eksporty. Eksporty powinny być tak zdefiniowane, abym w każdym miejscu aplikacji mógł skorzystać z importu:

import { Button, Input, Textarea } from 'sciezka_do_Form';


Modyfikacja

Spróbuj skorzystać z absolutnych importów, aby nie musieć podawać pełnej ścieżki. Przykładowo, jeśli komponenty znajdują się w folderze components/Form, to import będzie wyglądał następująco:

import { Button, Input, Textarea } from 'components/Form';


4. Komponent Card

Przygotuj component Card podobny do tego. Możesz pominąć trzy kropki po prawej stronie. Ikonki można również pominąć, a rozwijaną treść dodatkową możesz pokazywać za pomocą propsa showMore, który będzie przyjmował wartość logiczną np.:


5. Przygotuj menu nawigacyjne

Napisz komponenty odpowiedzialne za pokazywanie menu po lewej stronie aplikacji. Stwórz komponenty Menu oraz MenuLink, aby stosować je w następujący sposób:

  Home   About   Contact   Posts

 

Jeśli komponent MenuLink posiada propsa isActive to znaczy, że trzeba wyróżnić etykietę np. czerwonym kolorem.


6. Lista pracowników

Stwórz component Employees, który będzie się składał z dwóch kolumn. Lewa będzie zawierała informacje o pracowniku takie jak imię i nazwisko, natomiast prawa będzie z czasem wyświetlała informacje bardziej szczegółowe (rozwiwniemy to zadanie w kolejnych tygodniach). Pracowników możesz przechowywać w tablicy z obiektami np. data i przekazywać do komponentu Employees.

Po kliknięciu w imię i nazwisko, w kolumnie po prawej stronie pojawiają się szczegółowe informacje o pracowniku jak wiek, płaca, stanowisko.

Wszystko ma działać bez routingu.

Dodatkowe informacje
Dodatkowe informacje
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Uwaga! Istnieje nowa wersja tego Kursu - Szkoła Reacta 2.0. Sprawdź, czy program z tego kursu jest dla Ciebie odpowiedni - jeśli pracujesz z legacy aplikacjami, to na pewno skorzystasz. Jeśli interesuje Cię bardziej nowoczesny stack, wybierz Szkołę Reacta 2.0.

  • Nauczysz się Reacta krok po kroku, od podstaw aż po zaawansowane zagadnienia
  • Zdobędziesz umiejętności potrzebne do awansu i podwyżki
  • Jeśli dopiero zaczynasz karierę w IT, to zmienisz pracę na lepszą - zdobędziesz wymagane doświadczenie
Patryk Omiotek
Patryk Omiotek

Jestem Senior Fullstack Developerem specjalizującym się w tworzeniu aplikacji internetowych w stacku TypeScript, React, Next.js, NestJS. Realizowałem wiele ciekawych i wymagających projektów m. in. dla znanej akademii filmowej z USA oraz startupów z Doliny Krzemowej.

Od 8 lat dzielę się swoją wiedzą jako ekspert na konferencjach i trener IT. Prowadzę też szkolenia dla programistów w Bottega IT Minds, firmie która zrzesza najlepszych ekspertów IT. Jestem także pomysłodawcą i założycielem Szkoły Reacta oraz kanału Web Amigos na YouTube.

Na codzień oprócz kodowania, zajmuję się weryfikacją IT, czyli w trakcie procesów rekrutacyjnych sprawdza poziom wiedzy kandydatów na stanowiska Junior, Regular, jak i Senior developerów.

3.10 Zadania do realizacji
keyboard_arrow_down
React od podstaw v1
99%
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.