Att utforma en reaktion Native app från början är ofta en besvärlig process, särskilt designdelen, eftersom du måste planera både för Android och iOS-enheter. Inte bara det, men du måste också se till att din app ser bra ut på olika skärmstorlekar.
Det är här mallar är till nytta. De hanterar den ursprungliga designen för dig så att din app ser bra ut med minimal designinsats från din sida. Det finns en handfull sådana mallar på CodeCanyon, en marknadsplats för mallar och plugins. Där kan du hitta olika typer av mallar anpassade till den specifika typen app som du vill skapa.
I den här handledningen tar vi en titt på hur man använder BeoStore-mallen. Som namnet antyder är BeoStore en e-handelsappmall för React Native.
Du kan ladda ner mallen genom att gå till BeoStores produktsida på CodeCanyon. Det är en betald mall, men det är värt investeringen, eftersom den har de flesta funktioner som behövs i en e-handelsapp. Allt du behöver göra är att konfigurera mallen och anpassa den till din smak. För att få en uppfattning om vad den erbjuder ur lådan, här är några av dess höjdpunkter:
Om du inte har ett Envato-konto än, kan du anmäla dig här. När det är klart, logga in på ditt nyskapade konto. Då kan du gå tillbaka till BeoStore-sidan och klicka på Köp nu knapp.
När du har köpt mallen får du en hämtningslänk till mallens arkivfil. Extrahera det och du får en CodeCanyon mapp som innehåller MStore 2,2.
MStore 2.2 är katalogen för mallprojektet. Fortsätt och öppna ett nytt terminalfönster i den katalogen och kör följande kommando:
npm installera
Det här installerar alla projektberoende. Det kan ta en stund beroende på nedladdningshastigheten, eftersom det måste ladda ner många beroenden. Ta en titt på package.json Om du vill se paketet behöver du hämta det.
När det är klart är det ytterligare ett steg om du vill bygga för iOS-enheter. Gå till iOS mapp och kör följande:
pod installera
Sedan, för Android, anslut din mobilenhet till din dator och kör:
adb-enheter
Det här listar alla Android-enheter som är anslutna till din dator. Om det här är första gången du ansluter enheten bör du få en snabb fråga om du vill tillåta datorn för USB-felsökning. Tryck bara på ja när du får det snabbt.
Nu kan du köra appen på din Android-enhet:
reagera-native run-android
För IOS:
reager-native run-ios
Om du inte stötte på några fel bör du hälsas med följande sida:
För att ge dig en bild av de olika sidorna som finns i mallen, här är några fler skärmdumpar:
I det här avsnittet har jag sammanställt en lista över vanliga installationsfel för projektet och deras lösningar.
Om utvecklingsservern inte startade automatiskt när du körde reagera-native run-android
eller reager-native run-ios
, du kan manuellt köra den genom att exekvera:
reagerar ursprunglig start
Om du får ett fel som liknar följande:
Fel på att bygga DependencyGraph: Fel: Watcher tog för lång tid att ladda Prova att köra "watchman version" från din terminal https://facebook.github.io/watchman/docs/troubleshooting.html vid [objektobjekt] ._ onTimeout (index.js: 103: 16) vid Timer.listOnTimeout (timers.js: 89: 15)
Detta beror på att en befintlig Watchman-instans körs. Det här är en del av React Native-utvecklingsservern. Du kan lösa detta fel och stänga Watchman genom att utföra följande kommandon:
sudo sysctl fs.inotify.max_user_instances = 99999 sudo sysctl fs.inotify.max_user_watches = 99999 sudo sysctl fs.inotify.max_queued_events = 99999 watchman shutdown-server
Om du får följande fel:
fel: stängt Kunde inte köra adb omvänd: Kommandot misslyckades: / path / to / android-sdk-linux / sdk / plattform-verktyg / adb-s 300494a80ea22200 reverse tcp: 8081 tcp: 8081
Det betyder att din Android-enhet körs på en version som är lägre än 5,0 (Lollipop). Det här är inte ett fel. Det betyder helt enkelt att din Android-enhet inte stöder adb omvänd
, som används för att ansluta utvecklingsservern till enheten via USB-felsökning. Om detta inte är tillgängligt faller React Native tillbaka till felsökning med Wi-Fi. Du kan hitta mer information om det här: Running on Device.
Något annat kan orsaka att din byggnad misslyckas. Du kan bläddra upp i terminalen för att se om det finns några fel som hänt före det.
_fbBatchedBridge
Om du får följande fel och utvecklingsservern körs i Wi-Fi-läge betyder det att du inte har konfigurerat datorns IP i din Android-enhet. (Detta kommer oftast bara med Android-enheter under version 5.0.)
ReferenceError: Kan inte hitta variabel: _fbBatchedBridge (rad 1 i det genererade buntet)
Du kan utföra följande för att visa alternativen React Native developer på din enhet:
adb shell input keyevent 82
Välj Dev inställningar från menyn som dyker upp. Under felsökning avsnittet, tryck på Debug-server och port för enhet. Ange den interna IP som tilldelats av din hemrouter tillsammans med porten där utvecklingsservern körs och tryck på OK:
YOUR_INTERNAL_IP: 8081
Gå tillbaka till startsidan för appen och kör adb shell input keyevent 82
igen. Den här gången välj Ladda om att ladda appen igen.
Om du får fel på "kunde inte hitta" betyder det att du inte har installerat motsvarande paket med Android SDK Manager.
Här är de paket som behöver installeras:
Se till att även uppdatera befintliga paket om det finns en tillgänglig uppdatering.
Om ditt problem inte medför något av ovanstående kan du prova följande:
Ett bra ställe att börja lära sig att göra saker i mallen är dess dokumentation:
Var noga med att kolla in dem! Jag kommer inte att upprepa vad som nämndes i dokumentationen. Istället är det vi ska göra i det här avsnittet att faktiskt anpassa mallen så att den ser ut som vi vill.
De flesta av projektkonfigurationsinställningarna lagras inuti app / Constants.js
fil. Här är några exempel på saker som du kan ändra från den här filen:
WooCommerce Integration: Webbadressen för WooCommerce-butiken som används av appen. Som standard använder detta mstore.io.
WordPress: Adress: 'http://mstore.io/api',, WooCommerce: url: 'http://mstore.io', consumerKey: ", consumerSecret:", wp_api: true, version: "wc / v1 ', timeout: 10, // request timeout RootCategoryId: 0, Produkt: Display: ProductThumbnails: width: 180, height: 216,, CatalogImages: width: 300, height: 360,, SingleProductImage: bredd: 600, höjd: 720,,,
Sociala inloggningar: Detta implementeras med Auth0, en autentiseringsplattform. Som standard stöder mallen endast Google och Facebook-inloggningar. Men du borde kunna lägga till någon tjänst som Auth0 stöder.
Auth0: clientId: ", domän:",,
ikoner: Du kan använda en ikon från Fontawesome, men du bör prefixa namnet med ios-
.
Ikon: // Appens ikoner. Checkout http://fontawesome.io/icons/ för fler ikoner. Meny: 'ios-meny', Hem: 'ios-home', Tillbaka: 'Ios-Arrow-Back', Framåt: 'IOS-Arrow-forward', Config: 'IOS-inställningar', Mer: 'IOS-more ', SignIn:' ios-log-in ', SignOut:' ios-log-out ', ShoppingCart:' ios-cart ', ShoppingCartEmpty:' ios-cart-outline ' "Ios-Track-Outline", ShowItem: "IOS-Arrow-Dropp", HideItem: "IOS-Arrow-Dropup", ListMode: "IOS-list-Box", GridMode: "Ios-Grid", RatingFull: -star ', RatingEmpty:' ios-star-outline ', Önskelista:' ios-heart ', WishlistEmpty:' ios-heart-outline ', Radera:' ios-trash ', AddToCart:' ios-cart ', MyOrder: 'Ios-Cube', Nyheter: 'Ios-Paper', Mail: 'IOS-Mail', RatioOff: 'Ios-Radio-Button-off', RatioOn: 'Ios-Radio-knappen' -sök ", Stäng:" IOS-close ", HappyFace:" IOS-happy-outline ", SadFace:" IOS-sad-outline ",,
Tema: Färger för de olika komponenterna som utgör varje sida kan också uppdateras. Om du till exempel vill ändra bakgrundsfärgen för huvudet kan du uppdatera värdet för TopBar
:
Färg: TopBar: 'white', TopBarIcon: '# 283747',
Bilder: Stänkskärmen och andra bilder kan också uppdateras genom att ange en ny sökväg till var och en av följande:
Bild: Logo: kräver ('./ images / logo.png'), SplashScreen: kräver ('./ images / splash_screen.png'), CategoryPlaceholder: kräver ('./ images / category_placehodler.png'), DefaultAvatar: kräver ('./ images / default_avatar.jpg'), AvatarBackground: kräver ('./ images / avatar_background.jpg'), CheckoutStep1: kräver ('./ images / line-1.png'), CheckoutStep2: ./images/line-2.png '), CheckoutStep3: kräver (' ./ images / line-3.png '), Stripe: kräver (' ./ images / stripe.png '), PayPal: kräver ('. /images/PayPal.png '), CashOnDelivery: kräver (' ./ images / cash_on_delivery.png '), PlaceHolder: kräver (' ./bilder / placeholderImage.png '),
Dessa bilder lagras i app / bilder
katalog, kan du helt enkelt ersätta dem om du inte vill behålla de gamla bilderna.
Klient ID
och hemlig nyckel
. Glöm inte att uppdatera sandlådeläge
till falsk
när du distribuerar din app till produktion, eftersom den som standard använder sandboxläge så att inga faktiska pengar kommer att spenderas på transaktioner.PayPal: clientID: ", secretKey:", sandBoxMode: true, // byt till falskt vid produktion,
komponent för att göra varje produktkategori. Så om du vill lägga till en generell styling för
komponent måste du uppdatera app / Komponenter / ImageCard / index.js fil. Annars kan du helt enkelt uppdatera stilar på själva sidan:this.styles = container: flex: 1, imageCard: width: Constants.Dimension.ScreenWidth (1), höjd: 200,, mainCategoryText: color: 'white', // ändra färg på kategorin text fontSize: 40 // gör kategoritekst större, numberOfProductsText: color: 'white', fontSize: 15
Denna handledning är inte på något sätt en omfattande guide om hur du använder BeoStore-mallen. Men vi har täckt en hel del mark, speciellt om felsökning av installationen, vilket den officiella dokumentationen saknar.
Nästa steg är att koppla denna mall upp med din WooCommerce-webbplats eller ens omförhandla den så att den kan användas för andra typer av appar.
Ladda ner mallen nu, eller om du vill veta mer om det, kan du kolla dokumentationen här. Du kan också hitta många fler React native appmallar på CodeCanyon.