Właśnie zaktualizowałem moją React Native i teraz symulator iOS ma kilka ostrzeżeń. Oprócz ich naprawiania, jak mogę ukryć te ostrzeżenia, aby zobaczyć, co jest pod spodem?
ios
react-native
show-hide
Jakiś facet
źródło
źródło
Lepszym sposobem wybiórczego ukrycia niektórych ostrzeżeń (które pojawiają się na czas nieokreślony po aktualizacji do najnowszej i najlepszej wersji RN) jest ustawienie console.ignoredYellowBox we wspólnym pliku JS w twoim projekcie. Na przykład po dzisiejszej aktualizacji mojego projektu do RN 0.25.1 widziałem wiele ...
Ostrzeżenie: ReactNative.createElement jest przestarzały ...
Nadal chcę widzieć pomocne ostrzeżenia i komunikaty o błędach od React-Native, ale chcę zmiażdżyć to szczególne ostrzeżenie, ponieważ pochodzi z zewnętrznej biblioteki npm, która nie wprowadziła jeszcze przełomowych zmian w RN 0.25. Więc w moim App.js dodaję tę linię ...
W ten sposób nadal otrzymuję inne błędy i ostrzeżenia pomocne w moim środowisku deweloperskim, ale nie widzę już tego konkretnego.
źródło
Aby wyłączyć żółte pole
w dowolnym miejscu aplikacji. Zwykle w pliku głównym, więc będzie dotyczył zarówno iOS, jak i Androida.
Na przykład
źródło
W pliku app.js w ramach metody cyklu życia dowolnego komponentu. Podobnie jak w przypadku componentDidmount (), musisz dodać oba te elementy, z wyłączeniem żadnego z nich nie będzie działać.
źródło
źródło
Dodaj następujący kod w swoim index.js pliku
console.disableYellowBox = true;
źródło
Jeśli próbujesz szybko demonstrować aplikację.
Jeśli chcesz ukryć je w konkretnej kompilacji, ponieważ robisz demo lub coś w tym stylu, możesz edytować swój schemat Xcode, aby był kompilacją wydania, a te żółte ostrzeżenia się nie pojawią. Ponadto Twoja aplikacja będzie działać znacznie szybciej.
Możesz edytować schemat swojego symulatora i rzeczywistego urządzenia, wykonując następujące czynności:
Product
>Scheme
>Edit Scheme...
Build Configuration
zDebug
naRelease
.źródło
Release
: bez ostrzeżenia i szybsza aplikacja!Release
Dla tych, którzy przychodzą w ten sposób, próbując wyłączyć czerwone ostrzeżenia z konsoli, które dają absolutnie bezużyteczne informacje, od lutego / 17 możesz dodać gdzieś ten wiersz kodu
console.error = (error) => error.apply;
Wyłącza wszystko
console.error
źródło
console.disableYellowBox = true;
to działało na poziomie aplikacji Umieść to w dowolnym miejscu w pliku index.js
źródło
Aby wyłączyć żółte pole, umieść
console.disableYellowBox = true;
dowolne miejsce w aplikacji. Zwykle w pliku głównym, więc będzie dotyczył zarówno iOS, jak i Androida.Aby uzyskać więcej informacji, zapoznaj się z oficjalnym dokumentem
źródło
console.disableYellowBox = true;
źródło
console.ignoredYellowBox = ['Ostrzeżenie: każde', 'Ostrzeżenie: niepowodzenie'];
źródło
Zauważyłem, że nawet po wyłączeniu określonych ostrzeżeń (komunikatów z żółtą ramką) za pomocą wyżej wymienionych metod, ostrzeżenia były wyłączone na moim urządzeniu mobilnym, ale nadal były rejestrowane na mojej konsoli, co było bardzo denerwujące i rozpraszające.
Aby zapobiec rejestrowaniu ostrzeżeń w konsoli, możesz po prostu nadpisać
warn
metodę naconsole
obiekcie.Możliwe jest nawet wyłączenie tylko określonych ostrzeżeń, testując podany komunikat:
Jeśli nie możesz (lub nie chcesz) użyć wyrażenia regularnego do przetestowania ciągu,
indexOf
metoda zadziała równie dobrze:Należy pamiętać, że ta technika będzie filtrować wszystkie wiadomości przechodzące przez
warn
funkcję, niezależnie od tego, skąd pochodzą. Z tego powodu uważaj, aby nie określić zbyt hojnej czarnej listy, która pomija inne znaczące błędy, które mogą pochodzić z innych źródeł niż React Native.Uważam również, że React Native używa tej
console.error
metody do rejestrowania błędów (wiadomości typu red-box), więc zakładam, że ta technika może być również użyta do odfiltrowania określonych błędów.źródło
Polecam małe narzędzie stworzone przez nasz zespół, gromadzi wszystkie ostrzeżenia i błędy w ikonie pływaka. W porównaniu z
console.disableYellowBox = true;
, nadal możesz zobaczyć, gdzie jest ostrzeżenie lub błąd, ale nie przeszkadza ci to. Repo Github konsoli WT: https://github.com/WeBankFinTech/wt-consoleźródło
W swoim pliku AppDelegate.m możesz zmienić ten wiersz:
i zastąpić
dev=true
przezdev=false
na końcu.źródło
Powiązane: Pomiń ostrzeżenia Xcode z biblioteki React Native
(ale nie dla własnego kodu)
dlaczego: podczas inicjowania nowej aplikacji RN projekt Xcode zawiera bliżej 100 ostrzeżeń, które rozpraszają hałas (ale w przeciwnym razie prawdopodobnie nieszkodliwe)
rozwiązanie: ustaw zakaz wszystkich ostrzeżeń na tak w Ustawieniach kompilacji dla odpowiednich celów.
Wyłącz ostrzeżenia w Xcode z platform
https://github.com/facebook/react-native/issues/11736
źródło