Bizonyára mindenki, aki Expo-val fejleszt mobilalkalmazásokat, az már találkozott azzal, hogy az Expo Go-val tesztelt alkalmazásban, a képernyő alján sárga figyelmeztető üzenet jelenik meg.
Ez nem hiba, hanem figyelmeztés, egy warning. Sok esetben arra vonatkozik, hogy olyan dolgot használunk, ami hamarosan elavult (deprecated) lesz, vagy már az is. Ezek a figyelmeztetések csak fejlesztési időben jelennek meg.
Egyfelől végtelenül hasznosak, mert tájékoztatnak. Bele tudunk menni a warning részleteibe, el tudjuk olvasni miért kaptuk az üzenetet, el tudjuk hárítani a „problémát”, a végén pedig eltűnik a warning (ha megoldjuk a mögötte levő dolgokat).
Ugyanakkor rohadt idegesítőek is tudnak lenni.

Ugyanis nem mindig van időnk arra, hogy egyszerre az összes figyelmeztetést lekezeljük. És például kitakarják a lenti Tab bar ikonokat is jelen esetben.
Szerencsére van lehetőség ezeknek a figyelmeztetéseknek a kikapcsolására.
A megoldás
Azt hiszem nem csak engem idegesített a figyelmeztetések felbukkanása. Így a React Native-ot fejlesztő banda kitalálta nekünk a LogBox-ot.

Ebben a cikkben olvastam róla.
Nem kell telepíteni hozzá külön csomagot, ugyanis ez a react-native tartozéka lett a 0.63-as verziótól kezdve.
Használata pedig brutál egyszerű. Először importáljuk a LogBox-ot:
import { LogBox } from 'react-native';
Ha csupán a „Warning”-gal kezdődő figyelmeztetésről nem szeretnénk többé tudomást venni, akkor ezt kell használnunk:
LogBox.ignoreLogs(['Warning: ...']);
Ha mindenféle figyelmeztetést ki akarunk kapcsolni, akkor pedig ezt:
LogBox.ignoreAllLogs();
Én is elhelyeztem ezt a pár soros kódocskát az alkalmazás belépési pontjául szolgáló app.js elején és juhééé…, nincs többé az a sok hülye idegesítő warning!
Hát már semmisenem jó?
Aztán telt-múlt az idő. Tekintetem folyton a képernyő aljára vándorolt és azon kaptam magam, hogy hiányoznak ezek a figyelmeztetések… 🙂
Persze nem a szó szoros értelmében, hiszen sokszor kiakasztottak, mert nem tudtam tőlük nyomogatni a képernyő alján levő gombokat. De legalább tudtam, hogy ha valami nem kerek az app-al, akkor be kell avatkozni. Így viszont, hogy a LogBox-ot beüzemeltem és többé nem jöttek a warning-ok, olyan sebezhetőnek és csupasznak éreztem magam.
Így hát szépen kikommenteztem a LogBox-os kódot az app.js-ben. Nem töröltem, hátha később szükségem lesz rá. De úgy gondoltam jobb az, ha mégis az arcomba tolja az Expo, ha valamire szeretne figyelmeztetni. Így hát döntöttem: „gyere öcsém, toljad a warningokat!”
Kapcsolódó témák
Itt is olvashatsz egy hasonló esetről.