Czysty kod: Trudne błędy


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>