Dodatek
Ta strona została przetłumaczona przez PageTurner AI (beta). Nie jest oficjalnie zatwierdzona przez projekt. Znalazłeś błąd? Zgłoś problem →
I. Terminologia
-
Spec - Kod TypeScript lub Flow opisujący API modułów Turbo Native lub komponentów Fabric Native. Używany przez Codegen do generowania kodu szablonowego.
-
Native Modules - Biblioteki natywne bez interfejsu użytkownika (UI). Przykłady: trwała pamięć, powiadomienia, zdarzenia sieciowe. Dostępne w kodzie JavaScript aplikacji jako funkcje i obiekty.
-
Native Component - Widoki natywne platformy dostępne w kodzie JavaScript aplikacji poprzez komponenty React.
-
Legacy Native Components - Komponenty działające w starej architekturze React Native.
-
Legacy Native Modules - Moduły działające w starej architekturze React Native.
II. Typy w Codegen
Poniższa tabela służy jako odniesienie do obsługiwanych typów i ich mapowania na poszczególne platformy:
| Flow | TypeScript | Flow Nullable Support | TypeScript Nullable Support | Android (Java) | iOS (ObjC) |
|---|---|---|---|---|---|
string | string | ?string | string | null | string | NSString |
boolean | boolean | ?boolean | boolean | null | Boolean | NSNumber |
Object Literal{| foo: string, ...|} | { foo: string, ...} as const | ?{| foo: string, ...|} | ?{ foo: string, ...} as const | - | - |
| Object [1] | Object [1] | ?Object | Object | null | ReadableMap | @ (untyped dictionary) |
Array<T> | Array<T> | ?Array<T> | Array<T> | null | ReadableArray | NSArray (or RCTConvertVecToArray when used inside objects) |
Function | Function | ?Function | Function | null | - | - |
Promise<T> | Promise<T> | ?Promise<T> | Promise<T> | null | com.facebook.react.bridge.Promise | RCTPromiseResolve and RCTPromiseRejectBlock |
Type Unions'SUCCESS'|'FAIL' | Type Unions'SUCCESS'|'FAIL' | Only as callbacks | - | - | |
Callbacks() => | Callbacks() => | Yes | com.facebook.react.bridge.Callback | RCTResponseSenderBlock | |
number | number | No | double | NSNumber |
Uwagi:
[1] We strongly recommend using Object literals instead of Objects.
Warto również zapoznać się ze specyfikacjami JavaScript podstawowych modułów w React Native. Znajdują się one w katalogu Libraries/ repozytorium React Native.