Gdy nie wiadomo, jaki błąd popełniamy, warto pamiętać o kilku możliwych przypadkach błędów:
- operatory porównania
=== oraz ==
pierwszy z nich, to operator porównania identyczności. To oznacza, że zmienne porównywane muszą być tego samego typu, nie tylko o tej samej wartości.
drugi operator natomiast porównuje tylko wartości, bez typów
Tego typu porównania, mogą być problematyczne, i zalecane jest porównywać operatorem identyczności, czyli: ===
Aby sprowadzić zmienną do określonego typu można użyć funkcji:
parseInt(), parseFloat… itp.
- brak atrybutu key w pętlach .map(…) w React
- nachodzące warstwy. Ten problem może pojawić się na smartfonach, gdy tymczasem w przeglądarce wszystko działa. Osobiście miałem problem z:
position: „absolute”
warstwy zachodziły na siebie, po zmianie na:
position: „static”
wszytko działało prawidłowo. - brak jednego znacznika otaczającego wewnątrz bloku JSX w sekcji return.
Brak znaczników: <> oraz </>, w przypadku braku znacznika View spowoduje błąd React’owy
const Komponent = () => {
return (
<>
<View>
<Text>Tekst</Text>
</View>
</>
);
};
- gdy w React Native chcemy wyświetlić tekst, sam znacznik <Text></Text> nie wystarczy, obowiązkowo trzeba pamietać, aby opakować go w znacznik <View></View>
- komponent Button z pakietu react-native nie przyjmuje atrybutu style i nie można modyfikować jego wyglądu (po części). Aby obejść brak stylowania należy skorzystać z komponentów: TouchableOpacity oraz Text, np.:
<TouchableOpacity
title="tytuł"
style={{ ... }}
onPress={() => {}}>
<Text style={{ ... }}>napis</Text>
</TouchableOpacity>