Jak wnieść swój kod
Ta strona została przetłumaczona przez PageTurner AI (beta). Nie jest oficjalnie zatwierdzona przez projekt. Znalazłeś błąd? Zgłoś problem →
Dziękujemy za zainteresowanie współtworzeniem React Native! Od komentowania i klasyfikowania problemów, przez recenzowanie i przesyłanie PR-ów — wszystkie wkłady są mile widziane. W tym dokumencie omówimy kroki, jak wnieść swój kod do React Native.
Jeśli chcesz od razu zacząć włączać swój kod, mamy listę Good first issues zawierającą błędy o stosunkowo ograniczonym zakresie.
Problemy oznaczone etykietą Help wanted to dobre kandydaty do przesłania pull requesta.
Wymagania wstępne
Zapoznaj się z przewodnikiem Konfiguracja środowiska, aby skonfigurować wymagane narzędzia i środowisko deweloperskie na podstawie platformy, której używasz, oraz platformy, dla której chcesz tworzyć.
Przepływ pracy deweloperskiej
Po sklonowaniu React Native otwórz katalog i uruchom yarn, aby zainstalować zależności.
Teraz możesz uruchamiać kilka poleceń:
-
yarn starturuchamia serwer pakujący Metro. -
yarn lintsprawdza styl kodu. -
yarn formatautomatycznie formatuje twój kod. -
yarn testuruchamia zestaw testów JavaScript oparty na Jest.yarn test --watchuruchamia interaktywny monitor testów JavaScript.yarn test <pattern>uruchamia testy JavaScript pasujące do wzorca nazw plików.
-
yarn flowuruchamia sprawdzanie typów Flow.yarn flow-check-androidwykonuje pełne sprawdzenie Flow dla plików*.android.js.yarn flow-check-ioswykonuje pełne sprawdzenie Flow dla plików*.ios.js.
-
yarn test-typescripturuchamia sprawdzanie typów TypeScript. -
yarn test-iosuruchamia zestaw testów iOS (wymagany macOS). -
yarn buildbuduje wszystkie skonfigurowane pakiety — zazwyczaj to polecenie musi być uruchamiane tylko przez CI przed publikacją.- Pakiety wymagające budowy są skonfigurowane w scripts/build/config.js.
-
yarn build-typesgeneruje typy TypeScript dla publicznego API i aktualizuje migawkę.
Testowanie swoich zmian
Testy pomagają zapobiegać wprowadzaniu regresji do bazy kodu. Zalecamy uruchomienie yarn test lub powyższych skryptów dla konkretnej platformy, aby upewnić się, że nie wprowadzasz żadnych regresji podczas pracy nad zmianą.
Repozytorium GitHub jest ciągle testowane przy użyciu CircleCI, a wyniki są dostępne przez funkcję Checks na commitach i pull requestach.
Więcej o uruchamianiu i pisaniu testów dowiesz się na stronie Jak uruchamiać i pisać testy.
Styl kodu
Używamy Prettier do formatowania naszego kodu JavaScript. To oszczędza twój czas i energię, ponieważ możesz pozwolić Prettier automatycznie poprawić problemy z formatowaniem przez integracje z edytorem lub ręcznie uruchamiając yarn run prettier. Używamy również lintra, aby wychwycić problemy ze stylem, które mogą istnieć w twoim kodzie. Możesz sprawdzić status stylu swojego kodu, uruchamiając yarn run lint.
Jednak nadal istnieją pewne style, których linter nie może wychwycić, w szczególności w kodzie Java lub Objective-C.
Objective-C
-
Spacja po deklaracjach
@property -
Nawiasy klamrowe dla każdego
ifw tej samej linii -
Nawiasy dla
- method,@interfacei@implementationw następnej linii -
Staraj się utrzymywać długość linii około 80 znaków (czasem to niemożliwe...)
-
Operator
*wiąże się z nazwą zmiennej (np.NSObject *variableName;)
Java
-
Jeśli wywołanie metody zajmuje wiele linii, zamykający nawias znajduje się w tej samej linii co ostatni argument.
-
Jeśli nagłówek metody nie mieści się w jednej linii, każdy argument umieszczamy w osobnej linii.
-
Długość linii: 100 znaków
Wysyłanie pull requesta
Wkład w kod React Native zwykle przyjmuje formę pull requesta. Proces proponowania zmian można podsumować następująco:
-
Sforkuj repozytorium React Native i utwórz swoją gałąź od
main. -
Jeśli dodałeś kod, który wymaga testów, napisz testy.
-
Jeśli zmieniłeś API, zaktualizuj dokumentację.
-
Upewnij się, że testy przechodzą lokalnie lub na CI po otwarciu pull requesta.
-
Sprawdź styl kodu (np. przez
yarn lint --fix). -
Sprawdź, czy twój kod modyfikuje publiczne JS API przez
yarn build-types --validate. Jeśli tak, wygeneruj nowy snapshot używającyarn build-types. -
Wypchnij zmiany do swojego forka.
-
Utwórz pull request do repozytorium React Native.
-
Przejrzyj i uwzględnij komentarze do swojego pull requesta.
-
Bot może dodawać sugestie. Zazwyczaj prosimy o rozwiązanie tych kwestii przed recenzją kodu przez maintainera.
-
Jeśli jeszcze tego nie zrobiłeś, prześlij Umowę Licencyjną Współtwórcy ("CLA").
Jeśli wszystko pójdzie dobrze, twój pull request zostanie scalony. Jeśli nie, maintainerzy postarają się wyjaśnić powody tej decyzji.
Jeśli to twój pierwszy pull request, przygotowaliśmy przewodnik krok po kroku. Szczegółowe informacje o obsłudze pull requestów znajdziesz na stronie Zarządzanie pull requestami.
Umowa licencyjna dla współtwórców (CLA)
Aby zaakceptować twój pull request, musisz przesłać Umowę Licencyjną Współtwórcy (CLA). Wystarczy to zrobić raz dla wszystkich projektów open source Meta. To zajmuje minutę - możesz to zrobić podczas instalacji zależności.
Licencja
Przesyłając wkład do React Native, zgadzasz się, że twoje zmiany będą objęte licencją z pliku LICENSE w głównym katalogu repozytorium.