React vs React Native: te same idee, inne klocki

React vs React Native

React vs React Native: mapa elementów i kiedy czego używać | We.Inc

React buduje interfejsy webowe z elementów HTML, a React Native buduje aplikacje na iOS i Androida z natywnych widoków. Zobacz natywny odpowiednik każdego elementu webowego i co możesz współdzielić.

React to biblioteka, a React Native używa jej do budowania aplikacji na iOS i Androida. W React w przeglądarce renderujesz elementy HTML, takie jak div i button, na stronie. React Native renderuje własne komponenty, takie jak View i Text, które stają się prawdziwymi widokami platformy. Komponenty, propsy, stan i hooki działają w obu tak samo.

Obok siebie

Najszybciej zobaczysz różnicę, tłumacząc element webowy na jego natywny odpowiednik. Wyszukaj w mapie poniżej znacznik HTML, props lub nawyk z CSS, a każdy wiersz poda zamiennik w React Native z krótką notatką o tym, co działa inaczej.

Najczęściej zadawane pytania

Czy React Native to to samo co React?

Nie. React to biblioteka komponentów, a React Native to framework, który używa Reacta do sterowania natywnymi widokami mobilnymi. Komponenty piszesz tak samo, ale renderujesz View, Text i inne natywne komponenty zamiast HTML, i nie ma DOM przeglądarki.

Czy mogę używać HTML i CSS w React Native?

Nie bezpośrednio. Nie ma elementów div ani span ani plików CSS. Style to obiekty JavaScript z nazwami w camelCase, które w większości odpowiadają CSS, a układ korzysta z flexbox z kilkoma innymi wartościami domyślnymi.

Czego uczyć się najpierw: Reacta czy React Native?

W większości przypadków najpierw Reacta. Własna dokumentacja React Native uczy komponentów, JSX, propsów i stanu Reacta jako podstaw, a ćwiczenie ich w przeglądarce daje szybszą informację zwrotną.

Czy aplikacja webowa w React i aplikacja React Native mogą współdzielić kod?

Logikę można współdzielić: typy, klientów API, walidację i hooki, które nie dotykają DOM. Ekranów i komponentów zwykle nie, bo renderują inne prymitywy.

Czy React Native tworzy prawdziwą natywną aplikację?

Tak. Dokumentacja React Native wyjaśnia, że w czasie działania tworzy on odpowiednie widoki Androida i iOS dla swoich komponentów, więc View staje się natywnym widokiem, a nie stroną internetową w opakowaniu.

Co jest wspólne, a co nie

Zasady tekstu i układu, które zaskakują web developerów

Kiedy wybrać każdy z nich

Jedna karta napisana dla obu

Logika komponentu jest identyczna: te same propsy, to samo wywołanie useState, ta sama obsługa zdarzenia. Zmieniają się tylko elementy i stylowanie.

React dla przeglądarki

Elementy HTML, klasa CSS i onClick. Przeglądarka układa przycisk za tekstem.

React Native dla iOS i Androida

View, Text i Pressable z react-native, style ze StyleSheet.create oraz onPress zamiast onClick.

Listy: map() w przeglądarce, FlatList na telefonie

Ta sama lista w React Native

FlatList renderuje tylko to, co jest blisko ekranu, dzięki czemu długie listy działają płynnie. keyExtractor pełni rolę propsa key.

Kontener z układem flexbox, stylem i obsługą dotyku. Nie przewija się.

Cały tekst musi być wewnątrz Text. Zagnieżdżony Text dziedziczy style; nie ma znaczników nagłówków.

Obrazy z sieci wymagają jawnej szerokości i wysokości. Pliki lokalne używają require().

onChangeText przekazuje bezpośrednio nowy tekst zamiast zdarzenia.

Props multiline pozwala na kilka wierszy tekstu.

Ukrywa wpisywany tekst. Nie działa razem z multiline.

Kontrolowane pole logiczne: aktualizuj value w onValueChange.

Button przyjmuje props title; Pressable opakowuje dowolne dzieci, które chcesz uczynić dotykalnymi.

Pressable oferuje też onPressIn, onPressOut i onLongPress.

Renderuje wszystkie dzieci naraz, więc używaj go do krótkiej treści.

Wydajnie renderuje długie listy. Wymaga data i renderItem; keyExtractor ustawia każdy klucz.

Otwiera URL w zainstalowanej aplikacji, na przykład w przeglądarce. Opakuj go w Pressable, aby uzyskać dotykalny link.

Style to obiekty, zwykle definiowane przez StyleSheet.create. Przekaż tablicę, aby je połączyć; wygrywa ostatni.

Nazwy stylów są w camelCase, jak we własnym propsie style Reacta w przeglądarce.

Każdy View jest kontenerem flex i układa dzieci pionowo, chyba że wskażesz inaczej.

Mapa elementów webowych na React Native

Wyszukaj element, props lub pojęcie z CSS

img, onClick, class...

Wyświetlono {n} z {v} wierszy

Brak wyników. Spróbuj nazwy znacznika, takiej jak div lub input.

Elementy webowe i ich odpowiedniki w React Native

React w przeglądarce

React Native

Co się zmienia

Zacznij za darmo · Bez karty kredytowej

Powiązane: Poradniki

Produkt

Dla kogo

Funkcje

Zasoby

Firma

Mapa strony