konrad kwiatkowski - type of components in react/redux

28
/GrandParadePoland www.grandparade.co.uk Podział odpowiedzialności komponentów i ich dekompozycja w aplikacji React/Redux Studium przypadków z projektu Sportech Konrad Kwiatkowski, Senior Frontend Developer / Grand Parade

Upload: business-link-krakow

Post on 21-Jan-2017

117 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Konrad Kwiatkowski - Type of components in React/Redux

/GrandParadePolandwww.grandparade.co.uk

Podział odpowiedzialności komponentów i ich dekompozycja w aplikacji React/ReduxStudium przypadków z projektu Sportech

Konrad Kwiatkowski, Senior Frontend Developer / Grand Parade

Page 2: Konrad Kwiatkowski - Type of components in React/Redux

Co to za projekt?Jakie wymagania?

/GrandParadePolandwww.grandparade.co.uk

Page 3: Konrad Kwiatkowski - Type of components in React/Redux

/GrandParadePolandwww.grandparade.co.uk

Page 4: Konrad Kwiatkowski - Type of components in React/Redux

React i Redux z perspektywy architektury komponentów

/GrandParadePolandwww.grandparade.co.uk

Page 5: Konrad Kwiatkowski - Type of components in React/Redux

Architektura komponentów - ReactBrak informacji na temat typów komponentów, podziału i ich architektury

/GrandParadePolandwww.grandparade.co.uk

Page 6: Konrad Kwiatkowski - Type of components in React/Redux

Architektura komponentów - ReduxPropozycja podziału komponentów na:

- Prezentacyjne- Kontenery- Inne

/GrandParadePolandwww.grandparade.co.uk

Page 7: Konrad Kwiatkowski - Type of components in React/Redux

Ogólny podział zastosowany w Sportech

/GrandParadePolandwww.grandparade.co.uk

Page 8: Konrad Kwiatkowski - Type of components in React/Redux

Architektura komponentów- Prezentacyjne- Kontenery- Komponowane

/GrandParadePolandwww.grandparade.co.uk

Page 9: Konrad Kwiatkowski - Type of components in React/Redux

Architektura komponentów - dodatkowa klasyfikacja- Atomowe- Abstrakcyjne- Bezstanowe (stateless, pure)- Stanowe (stateful, impure)- Wyższego rzędu

/GrandParadePolandwww.grandparade.co.uk

Page 10: Konrad Kwiatkowski - Type of components in React/Redux

Dlaczego taki podział? Po co to jest i jak się do niego

zastosować?

/GrandParadePolandwww.grandparade.co.uk

Page 11: Konrad Kwiatkowski - Type of components in React/Redux

Architektura komponentów- Czysty interfejs- Jeden komponent, jedna odpowiedzialność- Mniejsze komponenty łatwiej użyć ponownie lub się ich pozbyć

/GrandParadePolandwww.grandparade.co.uk

Page 12: Konrad Kwiatkowski - Type of components in React/Redux

Konkretny problem, case study...

/GrandParadePolandwww.grandparade.co.uk

Page 13: Konrad Kwiatkowski - Type of components in React/Redux

To nie jest TodoList

A funkcjonalność do tworzenia/przygotowania

zakładów

/GrandParadePolandwww.grandparade.co.uk

Page 14: Konrad Kwiatkowski - Type of components in React/Redux

/GrandParadePolandwww.grandparade.co.uk

Page 15: Konrad Kwiatkowski - Type of components in React/Redux

DataGrid● Komponent wyższego rzędu● Brak związku z danymi

/GrandParadePolandwww.grandparade.co.uk

Page 16: Konrad Kwiatkowski - Type of components in React/Redux

DataGridKomponenty atomowe

wchodzące w jego skład

/GrandParadePolandwww.grandparade.co.uk

Page 17: Konrad Kwiatkowski - Type of components in React/Redux

Komponent atomowy

/GrandParadePolandwww.grandparade.co.uk

Page 18: Konrad Kwiatkowski - Type of components in React/Redux

Komponent komponowany

/GrandParadePolandwww.grandparade.co.uk

Page 19: Konrad Kwiatkowski - Type of components in React/Redux

Komponent abstrakcyjny

/GrandParadePolandwww.grandparade.co.uk

Page 20: Konrad Kwiatkowski - Type of components in React/Redux

Komponent abstrakcyjny

/GrandParadePolandwww.grandparade.co.uk

Page 21: Konrad Kwiatkowski - Type of components in React/Redux

Zachowanie stanu, kontener

/GrandParadePolandwww.grandparade.co.uk

Page 22: Konrad Kwiatkowski - Type of components in React/Redux

Dostarczenie danych, komponent wyższego rzędu

/GrandParadePolandwww.grandparade.co.uk

Page 23: Konrad Kwiatkowski - Type of components in React/Redux

Dostarczenie danych, komponent wyższego rzędu

/GrandParadePolandwww.grandparade.co.uk

Page 24: Konrad Kwiatkowski - Type of components in React/Redux

Dostarczenie danych, komponent wyższego rzędu

/GrandParadePolandwww.grandparade.co.uk

Page 25: Konrad Kwiatkowski - Type of components in React/Redux

Komponent ze stanem wewnętrznym

/GrandParadePolandwww.grandparade.co.uk

Page 26: Konrad Kwiatkowski - Type of components in React/Redux

Dostarczenie danych, kontener

/GrandParadePolandwww.grandparade.co.uk

Page 27: Konrad Kwiatkowski - Type of components in React/Redux

Finalne zastosowanie

/GrandParadePolandwww.grandparade.co.uk

Page 28: Konrad Kwiatkowski - Type of components in React/Redux

Dzięki za uwagę!

/GrandParadePolandwww.grandparade.co.uk