React w praktyce

Mateusz Pokora

Pierwsza decyzja w projekcie

Który framework wybrać??

ilość otwartych pull requestów dla danego języka
dane ze strony https://octoverse.github.com/

React skupia się na tworzeniu UI i jest bardzo elastyczny. Nie dostarcza ani nie narzuca rozwiązań dla projektu.

  • Jak wysłać zapytanie do serwera w React?
  • Jak zrobić nawigacje w React?
  • Jak dołączyć plik .scss do projektu React?
  • Jak przechować dane z API w React?
  • bardzo duża liczba programistów React
  • mnogość dostępnych paczek (wiele paczek rozwiązujących te same problemy)
  • mnogość kursów
  • mnogość blogów/artykułów/video

Elastyczność Reacta pozwala 

Jak nie zginąć w reactowej dżungli?

  • Kursy często skupiają się na konkretnym podejściu do problemu i uwydatniają je
  • Artykuły często ukazują przykład najlepiej oddający wyższość danej biblioteki

Co mieć na uwadze?

Biblioteki jako narzędzia

  • Nie ma idealnych rozwiązań
  • Każde rozwiązanie ma swoje wady i zalety
  • To które rozwiązanie jest najlepsze wynika tylko z kontekstu w którym pracujemy
  • Dobrze jest poznawać jak najwięcej rozwiązań i stosować je tam gdzie najlepiej się sprawdzą

Przechowywanie stanu

  1. Lokalny stan
  2. Biblioteki do zarządzania stanem (Redux/Mobx etc)

Lokalny stan vs Redux/Mobx

Redux

  1. Serializacja stanu
  2. Odtwarzanie zdarzeń

Jeśli nie potrzebujesz tych funkcji najprawdopodobniej poradzisz sobie bez redux-a

 

Tworzenie komponentu

class MyComponent extends React.Component {}

class MyComponent extends React.PureComponent {}

const MyComponent = (props) => {}

CSS

CSS as code vs. CSS modules

Problem utrzymywalności i duplikacji CSS w dużych projektach

System typów

Flow vs. Typescript vs Brak

API

REST vs GraphQl

Dziękuję za uwagę :)

Made with Slides.com