Szukasz najlepszych specjalistów od wytwarzania oprogramowania? Znajdziesz ich w kilka kliknięć.

10 wskazówek i trików React i React Native dla sprawnych programistów

28 sty 20212 min czytania

Vitalii Danylov

Senior frontend developer w Ideamotive.

Jeśli chodzi o React i React Native, jest sporo fajnych technik i drobnych trików, które potrafią trochę ułatwić życie. Część z nich pewnie znasz i stosujesz w swoich projektach. Ale założę się, że wciąż jest wiele takich, których nigdy nie próbowałeś ani nawet o nich nie słyszałeś. 

 

Pracuję z Reactem od lat i wciąż odkrywam nowe możliwości i skróty, które włączam do swojej pracy z kodem.

 

W tym artykule podzielę się z Tobą snippetami i drobnymi sztuczkami, których używam od jakiegoś czasu i które - jestem przekonany - ułatwią pracę także Tobie.

 

Miłej lektury!

1. Przekazywanie propsów 

 

Zacznijmy od czegoś prostego - alternatywnym sposobem przekazania propsów do komponentu jest podanie ich jako obiektu ze spreadem. 

 

Oto przykład:

2. matchAll

Metoda matchAll() zwraca iterator wszystkich wyników dopasowania łańcucha do wyrażenia regularnego, wraz z grupami przechwytującymi. 

 

Niestety w react-native ta metoda nie jest dostępna na Androidzie, ale tym snippetem uzyskasz tę samą funkcjonalność:

3. Pressable

Podobny do komponentów Touchable/Highlight, ale daje się bardziej dostosować. 

 

Dzięki temu możesz umieścić konkretną logikę na każdym etapie interakcji naciśnięcia i puszczenia:

4. useCallback vs useMemo

Jeśli nie masz pewności, czym różnią się useCallback i useMemo w React, zapamiętaj jedną rzecz:

  • useMemo zwraca wartość
  • useCallback zwraca funkcję

W większości przypadków będziesz używać useCallback, ale uważaj na przypadki brzegowe w zależnościach - możesz stracić główny sens tego hooka.

5. Funkcja porównująca dla memo

React.memo to komponent wyższego rzędu. Logika jest taka: gdy zmieniają się propsy komponentu, funkcja memo wykonuje płytkie porównanie i komponent zostanie przerenderowany, jeśli któryś z propsów różni się od poprzedniej wersji. 

 

Ale nie wszyscy wiedzą, że React.memo ma drugi parametr - funkcję porównującą, dzięki której zdefiniujesz własne zachowanie przy przerenderowaniach.

6. Ref dla komponentu funkcyjnego

Żeby uzyskać referencję do komponentu potomnego, zrób tak:

  1. Owiń komponent w forwarRef, żeby przekazać ref do komponentu potomnego
  2. Zdefiniuj w komponencie potomnym hook useImperativeHandle - dostosowuje on wartość instancji udostępnianą komponentom nadrzędnym przy użyciu ref. 

7. React-Native Doctor

react-native doctor (dostępne w ramach React Native 0.62) to niezwykle przydatna komenda, która pomaga naprawić problemy ze środowiskiem programistycznym:

 

8. Fragmenty

Fragment można zdefiniować na dwa sposoby:

Problem pojawia się, gdy chcesz przekazać do fragmentu klucz. W takiej sytuacji zapis z pustym tagiem nie zadziała - nie obsługuje atrybutów.

9. Kolory natywne (PlatformColor, DynamicColor)

 

Pierwszy parametr to kolor domyślny, a drugi to kolor zapasowy:

Nowe metody API dają dostęp do kolorów konkretnej platformy. Oto lista dostępnych kolorów:

10. Wsparcie renderowania 

 

Teraz możesz zdefiniować komponent <View /> wewnątrz <Text /> bez jawnego określania jego rozmiaru (dokumentacja).

 

 

I… to tyle z mojej strony.

 

Mam nadzieję, że znalazłeś tu coś przydatnego dla siebie. A jeśli masz własne triki React i React Native, których używasz w pracy, i chcesz opowiedzieć o nich innym programistom - daj mi znać! Chętnie dodam je do listy i wspomnę o Tobie 🙂

 

Miłego kodowania!

Vitalii Danylov

Vitalii to doświadczony frontend i mobile developer (ze szczególną <3 dla React Native), który lubi poznawać nowe technologie, testować nowe narzędzia i odkrywać nowe podejścia.

Zobacz wszystkie wpisy autora
React Native 2022

Wybór React Native do Twojego stosu technologicznego w 2022

Kompletny przewodnik dla CEO i product ownerów

Czytaj teraz
Newsletter 9-1
Newsletter Ideamotive
Twój dwutygodniowy przegląd najgorętszych newsów technologicznych

Szukasz świetnych projektów do pracy jako programista React Native?

Dołącz do Ideamotive Talent. Pracuj przy międzynarodowych projektach, zarabiaj i rozwijaj karierę na własnych zasadach.