Przejdź do treści głównej

Jak zgłosić błąd

Nieoficjalne Tłumaczenie Beta

Ta strona została przetłumaczona przez PageTurner AI (beta). Nie jest oficjalnie zatwierdzona przez projekt. Znalazłeś błąd? Zgłoś problem →

Zgłoszenie błędu w React Native to jeden z najlepszych sposobów na rozpoczęcie współtworzenia projektu. Jako główny kanał do obsługi nowych zgłoszeń używamy GitHub Issues.

Przed utworzeniem nowego zgłoszenia, sprawdź czy błąd już istnieje w naszym systemie śledzenia problemów. W większości przypadków to najszybszy sposób na uzyskanie odpowiedzi, ponieważ ktoś inny już napotkał ten sam problem.

Jeśli nie znajdziesz swojego błędu w systemie śledzenia problemów, możesz utworzyć nowe zgłoszenie. Po utworzeniu nowego zgłoszenia upewnij się, że:

  • Dodałeś opis problemu.

  • Postępowałeś zgodnie z instrukcjami w szablonie zgłoszenia.

  • Dodałeś wersję React Native, której używasz.

  • Dodałeś wynik polecenia npx @react-native-community/cli info.

  • Dodałeś zrzuty ekranu i nagrania problemu, jeśli są dostępne.

Wszystkie zgłoszenia błędów powinny również zawierać reproduktor: kod niezbędny do zrozumienia problemu i pomocny w debugowaniu.

ostrzeżenie

Ze względu na dużą liczbę zgłoszeń, reproduktory są obowiązkowe. Zgłoszenia bez reproduktora nie mogą zostać zbadane i najprawdopodobniej zostaną zamknięte.

Dostarczanie reproduktora

Celem reproduktora jest zapewnienie możliwości odtworzenia twojego błędu. Bez reproduktora nie będziemy w stanie zrozumieć błędu ani go naprawić.

Reproduktor powinien być minimalny: zawierać jak najmniej zależności (najlepiej tylko react-native), co pomoże nam lepiej wyizolować błąd. Gdy ktoś na GitHub prosi o reproduktor, nie prosi o cały twój kod źródłowy.

Zamiast tego musisz stworzyć minimalny projekt, który odtwarza ten sam awarię/błąd/problem, który zgłaszasz.

Ten proces jest kluczowy, ponieważ często problemy są rozwiązywane już podczas tworzenia reproduktora. Dzięki niemu łatwiej będzie ustalić, czy problem dotyczy twojej konkretnej konfiguracji, czy jest to błąd w React Native.

Ze względu na dużą liczbę zgłoszeń w React Native, akceptujemy tylko jeden z poniższych rodzajów reproduktorów:

  1. Dla większości błędów: prześlij Pull Request z edytowanym plikiem RNTesterPlayground.js w celu odtworzenia błędu.

  2. Dla błędów związanych z interfejsem: Snack.

  3. Dla błędów związanych z budowaniem/aktualizacją: projekt utworzony z naszego Szablonu Reproduktora.

RNTesterPlayground.js

Najlepszym sposobem na dostarczenie reproduktora jest otwarcie Pull Request w React Native, który edytuje plik RNTesterPlayground.js.

wskazówka

Ten reproduktor uruchomi twój kod na gałęzi main repozytorium react-native i jest to najszybszy sposób na zbadanie i naprawienie twoich błędów.

Plik RNTesterPlayground.js znajduje się w aplikacji RN-Tester, naszej referencyjnej aplikacji. Więcej o jej działaniu i budowaniu znajdziesz w dedykowanym pliku README.

Przykład takiego kodu reprodukującego błąd można znaleźć tutaj: Reproduce modal layout issues #50704.

Po edycji pliku RNTesterPlayground.js będziesz mógł zobaczyć swój kod działający w zakładce Playground aplikacji RNTester:

Krok pierwszy

Expo Snack

Większość błędów związanych z interfejsem użytkownika można odtworzyć za pomocą Expo Snack.

Expo Snack umożliwia uruchamianie kodu React Native w przeglądarce i natychmiastowe podglądanie renderowania.

Gdy uda Ci się odtworzyć problem w Expo Snack, kliknij przycisk Save, aby uzyskać link do udostępnienia, który możesz dołączyć do zgłoszenia błędu.

Szablon do reprodukcji błędów

W przypadku większości błędów związanych z kompilacją użyj szablonu do reprodukcji błędów społeczności.

Ten szablon tworzy mały projekt wykorzystujący React Native Community CLI, który może prezentować problemy z kompilacją.

Szablon posiada wstępnie skonfigurowany system CI z GitHub Actions, co pomoże wykryć potencjalne problemy z kompilacją.

Aby użyć tego szablonu:

  1. Kliknij przycisk Use this template na GitHubie, aby utworzyć nowy projekt na podstawie szablonu.

  2. Sklonuj nowo utworzone repozytorium lokalnie.

  3. Wprowadź zmiany niezbędne do odtworzenia problemu.

  4. Dołącz link do swojego repozytorium w nowym zgłoszeniu błędu.