Å designe en Reakt Native app fra begynnelsen er ofte en tungvint prosess, spesielt designdelen, fordi du må planlegge for både Android- og IOS-enheter. Ikke bare det, men du må også sørge for at appen din er fin på forskjellige skjermstørrelser.
Det er her malene kommer til nytte. De håndterer det opprinnelige designet for deg, slik at appen ser bra ut med minimal designinnsats fra din side. Det finnes en håndfull slike maler på CodeCanyon, en markedsplass for maler og plugins. Der kan du finne forskjellige typer maler som er tilpasset den spesifikke typen app du vil opprette.
I denne veiledningen tar vi en titt på hvordan du bruker BeoStore-malen. Som navnet antyder, er BeoStore en e-handelsappmal for React Native.
Du kan laste ned malken ved å gå til BeoStores produktside på CodeCanyon. Det er en betalt mal, men det er verdt investeringen, fordi den har de fleste funksjonene som trengs i en e-handelsapp. Alt du trenger å gjøre er å konfigurere malen og tilpasse den til din smak. For å få en ide om hva den gir ut av boksen, er det noen av høydepunktene sine:
Hvis du ikke har en Envato-konto ennå, kan du registrere deg her. Når det er gjort, logg deg på den nyopprettede kontoen din. Deretter kan du gå tilbake til BeoStore-siden og klikke på Kjøp nå knapp.
Når du har kjøpt malen, får du en nedlastingskobling til malens arkivfil. Trekk ut det og du får en CodeCanyon mappe som inneholder MStore 2.2.
MStore 2.2 er katalogen for malprosjektet. Gå videre og åpne et nytt terminalvindu i denne katalogen og utfør følgende kommando:
npm installasjon
Dette vil installere alle prosjektets avhengigheter. Dette kan ta en stund, avhengig av nedlastingshastigheten, fordi den må laste ned mange avhengigheter. Se på package.json hvis du vil se pakkene den trenger å laste ned.
Når det er gjort, er det et ekstra trinn hvis du vil bygge for iOS-enheter. Gå til iOS mappe og utfør følgende:
pod installasjon
Deretter kobler du mobilenheten til datamaskinen din til Android og utfører:
adb-enheter
Dette vil vise alle Android-enheter som er koblet til datamaskinen din. Hvis dette er første gang du kobler til enheten, bør du få en ledetekst om du vil tillate datamaskinen for USB-feilsøking. Bare trykk på ja når du får det ledeteksten.
Nå kan du kjøre appen på Android-enheten din:
reager-native run-android
For IOS:
reager-native run-ios
Hvis du ikke møtte noen feil, bør du hilses med følgende side:
For å gi deg en ide om de forskjellige sidene som er tilgjengelige i malen, er det noen få flere skjermbilder:
I denne delen har jeg samlet en liste over vanlige feil i prosjektoppsettet og deres løsninger.
Hvis utviklingsserveren ikke startet automatisk når du ble utført reager-native run-android
eller reager-native run-ios
, Du kan manuelt kjøre den ved å kjøre:
Reager-native start
Hvis du får en feil som ligner på følgende:
Feil ved å bygge DependencyGraph: Feil: Watcher tok for lang tid å laste Prøv å kjøre "watchman-versjon" fra din terminal https://facebook.github.io/watchman/docs/troubleshooting.html ved [objektobjekt] ._ onTimeout (index.js: 103: 16) på Timer.listOnTimeout (timers.js: 89: 15)
Dette skyldes at en eksisterende Watchman-forekomst kjører. Dette er en komponent av React Native Development Server. Du kan løse denne feilen og slå av Watchman ved å utføre følgende kommandoer:
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
Hvis du får følgende feil:
feil: lukket Kunne ikke kjøre adb omvendt: Kommandoen mislyktes: / path / to / android-sdk-linux / sdk / plattform-verktøy / adb-s 300494a80ea22200 reverse tcp: 8081 tcp: 8081
Det betyr at Android-enheten din kjører på en versjon som er lavere enn 5.0 (Lollipop). Dette er egentlig ikke en feil. Det betyr bare at Android-enheten din ikke støtter adb omvendt
, som brukes til å koble utviklingsserveren til enheten via USB-feilsøking. Hvis dette ikke er tilgjengelig, faller React Native tilbake til feilsøking ved hjelp av Wi-Fi. Du finner mer informasjon om det her: Kjører på enhet.
Noe annet kan føre til at byggingen din mislykkes. Du kan rulle opp terminalen for å se om det er noen feil som skjedde før det.
_fbBatchedBridge
Hvis du får følgende feil, og utviklingsserveren kjører i Wi-Fi-modus, betyr dette at du ikke har konfigurert datamaskinens IP på din Android-enhet. (Dette kommer vanligvis bare opp med Android-enheter under versjon 5.0.)
ReferenceError: Kan ikke finne variabel: _fbBatchedBridge (linje 1 i generert bunt)
Du kan utføre følgende for å vise alternativene React Native Developer på enheten:
adb shell input keyevent 82
Å velge Dev Innstillinger fra menyen som dukker opp. Under debugging delen, trykk på Feilsøkingsserver og -port for enhet. Skriv inn den interne IP-adressen som er oppgitt av hjemmestyreren sammen med porten der utviklingsserveren kjører, og trykk OK:
YOUR_INTERNAL_IP: 8081
Gå tilbake til startskjermen til appen og kjør ut adb shell input keyevent 82
en gang til. Denne gangen velger du Last å laste appen på nytt.
Hvis du får "ikke funnet" feil, betyr dette at du ikke har installert den tilsvarende pakken ved hjelp av Android SDK Manager.
Her er pakkene som må installeres:
Pass på at du også oppdaterer eksisterende pakker hvis det er en tilgjengelig oppdatering.
Hvis problemet ditt ikke innebærer noen av de ovennevnte, kan du prøve følgende:
Et godt sted å begynne å lære å gjøre ting i mal er dokumentasjonen:
Husk å sjekke dem ut! Jeg skal ikke gjenta det som ble nevnt i dokumentasjonen. I stedet er det vi skal gjøre i denne delen å faktisk tilpasse malen slik at den ser ut som vi ønsker.
De fleste av prosjektkonfigurasjonsinnstillingene lagres inne i app / Constants.js
fil. Her er noen eksempler på ting du kan endre fra denne filen:
WooCommerce Integrasjon: Nettadressen til WooCommerce-butikken brukes av appen. Som standard bruker dette mstore.io.
WordPress: Adresse: 'http://mstore.io/api',, WooCommerce: url: 'http://mstore.io', consumerKey: ", consumerSecret:", wp_api: sant, versjon: 'wc / v1 ', timeout: 10, // forespørsel timeout RootCategoryId: 0, Produkt: Display: ProductThumbnails: width: 180, height: 216,, CatalogImages: width: 300, height: 360,, SingleProductImage: bredde: 600, høyde: 720,,,
Sosiale innlogginger: Dette implementeres ved hjelp av Auth0, en autentiseringsplattform. Som standard støtter malen bare Google og Facebook-pålogginger. Men du bør kunne legge til hvilken tjeneste Auth0 støtter.
Auth0: clientId: ", domain:",,
ikoner: Du kan bruke et hvilket som helst ikon fra Fontawesome, men du bør prefikse navnet med ios-
.
Ikon: // Appens ikoner. Checkout http://fontawesome.io/icons/ for flere ikoner. Meny: 'ios-meny', Hjem: 'ios-home', Tilbake: 'ios-arrow-back', Videresend: 'ios-pil-forward', Config: 'ios-innstillinger', Mer: 'ios-more ', SignIn:' ios-log-in ', SignOut:' ios-log-out ', ShoppingCart:' ios-cart ', ShoppingCartEmpty:' ios-cart-outline ' 'Ios-trakt-disposisjon', ShowItem: 'ios-pil-dropright', HideItem: 'ios-pil-dropup', ListMode: 'ios-list-box', GridMode: 'ios-grid', RatingFull: 'ios -star ', RatingEmpty:' ios-star-outline ', Ønskes:' ios-heart ', WishlistEmpty:' ios-heart-outline ', Slett:' ios-trash ', AddToCart:' ios-cart ', MyOrder: 'ios-cube', Nyheter: 'ios-paper', Mail: 'ios-mail', RatioOff: 'IOS-radio-knapp-av', RatioOn: 'ios-radio-button-on', Søk: 'ios -Search ', Lukk:' ios-close ', HappyFace:' ios-happy-outline ', SadFace:' ios-sad-outline ',,
Tema: Farger for de forskjellige komponentene som utgjør hver side, kan også oppdateres. For eksempel, hvis du vil endre bakgrunnsfargen, kan du oppdatere verdien for topbar
:
Farge: TopBar: 'hvit', TopBarIcon: '# 283747',
Bilder: Skjermen og andre bilder kan også oppdateres ved å spesifisere en ny bane til hver av følgende:
Bilde: Logo: krever ('./ images / logo.png'), SplashScreen: krever ('./ images / splash_screen.png'), CategoryPlaceholder: krever ('./ images / category_placehodler.png'), DefaultAvatar: krever ('./ images / default_avatar.jpg'), AvatarBackground: krever ('./ images / avatar_background.jpg'), CheckoutStep1: krever ('./ images / line-1.png'), CheckoutStep2: ./images/line-2.png '), CheckoutStep3: krever (' ./ images / line-3.png '), Stripe: krever (' ./ images / stripe.png '), PayPal: krever ('. /images/PayPal.png '), CashOnDelivery: krever (' ./ images / cash_on_delivery.png '), PlaceHolder: krever (' ./ images / placeholderImage.png '),,
Disse bildene lagres i app / bilder
katalog, kan du enkelt erstatte dem hvis du ikke vil beholde de gamle bildene.
klient-ID
og secretKey
. Ikke glem å oppdatere sandkasse modus
til falsk
når du distribuerer appen din til produksjon, fordi den som standard bruker sandboksmodus, slik at ingen faktiske penger blir brukt på transaksjoner.PayPal: clientID: ", secretKey:", sandBoxMode: true, // bytt til falsk på produksjon,
komponent for å gjengi hver produktkategori. Så hvis du vil legge til en generell styling for
komponent, du må oppdatere app / komponenter / ImageCard / index.js fil. Ellers kan du bare oppdatere stilene på selve siden:this.styles = container: flex: 1, imageCard: width: Constants.Dimension.ScreenWidth (1), høyde: 200,, mainCategoryText: color: 'white', // endre fargen på kategorien tekst fontSize: 40 // gjøre kategorieteksten større, numberOfProductsText: color: 'white', fontSize: 15
Denne opplæringen er på ingen måte en omfattende guide for hvordan du bruker BeoStore-malen. Men vi har dekket ganske mye grunnlag, spesielt på oppsettfeilsøking, som den offisielle dokumentasjonen mangler.
Det neste trinnet er å koble denne malen opp med WooCommerce-nettstedet ditt, eller til og med repurpose det, slik at det kan brukes til andre typer apper.
Last ned malen nå, eller hvis du vil lære mer om det, kan du sjekke ut dokumentasjonen her. Du kan også finne mange flere React Native app maler på CodeCanyon.