Használja az Airbnb Lottie könyvtárát a rakodók feldobásához.

A webes vagy mobilos betöltő elengedhetetlen tervezési elem, amelyet általában akkor használnak, amikor aszinkron feladatokat kell végrehajtanunk, például adatfeldolgozást vagy beolvasást. Mivel ezek a feladatok eltarthatnak egy ideig, és a felhasználóknak szórakozást kell nyújtaniuk ez idő alatt, akkor a rakodók itt hasznosak.
A rakodók segítenek a fejlesztőknek elkötelezni a felhasználót, amíg várakoznak, és elkerülik a válasz hiányát az alkalmazásban. ?
Nem akarsz várni? Nézze meg az React-Native-Animated-Loader npm csomagot.Elkezdeni
A React Native ActivityIndicator
beépített, amely terhelésjelzőként használható.
De Loaders
nem csak használhatjuk ActivityIndicator
, hanem meg akarjuk akadályozni, hogy a felhasználó bármilyen műveletet hajtson végre a feladat befejezéséig. Ehhez pedig használni fogjuk Modals
.
Ha csak sima, egyszerű betöltőt szeretne, akkor nézze meg ezt az oktatóanyagot.
De ha valami félelmességre vágysz? szórva a rakodóiba, folytassa az oktatóanyaggal. ?
Az Airbnb Lottie-ja?
A Lottie egy iOS, Android és React Native könyvtár, amely valós időben rendereli az After Effects animációkat, lehetővé téve az alkalmazások számára, hogy az animációkat ugyanolyan egyszerűen használják, mint a statikus képeket.
A React Native csomagoló könyvtár lottie-react-native-jét egyedi betöltő animációnkhoz fogjuk használni.
Hozzon létre egy alkalmazást
A react-native-cli
React Native projekt létrehozására fogunk felhasználni , de használhatja az Expo-t is.
Hozzon létre egy példa projektet a következő paranccsal:
~ react-native init LoaderExample
Telepítse a függőségeket
Most tegyük hozzá a szükséges csomagokat. Először telepítse react-native-animated-loader
és lottie-react-native
.
~ npm install react-native-animated-loader --save
~ npm i --save lottie-react-native
Ha Expo-t használ, akkor nem kell telepítenie a Lottie-t.
Mivel lottie-react-native
natív összekapcsolást igényel, futtassa a következő parancsokat:
~ react-native link lottie-ios
~ react-native link lottie-react-native
Ezt követően nyissa meg az Xcode projekt konfigurációját, és adja hozzá az Lottie.framework
as nevet Embedded Binaries
.
Adjunk hozzá varázslatot?
Most frissítse App.js
a következő kóddal:
import React, { Component } from 'react';import { StyleSheet, View, Button } from 'react-native';import AnimatedLoader from 'react-native-animated-loader';
export default class App extends Component { constructor(props) { super(props); this.state = { visible: false }; }
handlePress = () => { setTimeout(() => { this.setState({ visible: !this.state.visible, }); }, 1000); };
render() { const { visible } = this.state;
return ( ); }}
const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#F5FCFF', }, lottie: { width: 100, height: 100, },});
Ha rákattint, néhány másodpercen belül meg kell tennie a következő animációt.

Az animáció testreszabása
A látott animáció az alapértelmezett, de felveheti saját Lottie-animációját. Ha remek betöltő-animációkat szeretne találni, látogasson el a lottiefiles oldalra, ahol megtalálhat néhány előre elkészített betöltő-animációt. Csak válassza ki azt, amelyik tetszik, és töltse le a JSON fájlt.
Most adja hozzá a letöltött JSON fájlt a LoaderExample
projekthez, és adjon hozzá forrás-javaslatot a AnimatedLoader
. A forrás hozzáadása után így kell kinéznie:
A betöltő stílusokat testreszabhatja animationStyle
prop hozzáadásával is .
Használat
Példánkban setTimeout
aszinkron feladatot szoktam utánozni. A való világban mindenféle aszinkron feladathoz használná, például adatok lehívásához egy API-ból.
Következtetés
Most már tudja, hogyan készítsen klassz animációs rakodót, remélem, abbahagyja a régi, unalmas aktivitásjelzőt a rakodóihoz.
Itt találhatja meg a könyvtári repót.Ha tetszik ez a cikk, folytassa és mutasson némi szeretetet a tapsokkal.
Nézze meg a React Native többi cikkét:
- Reagáljon a natív FlatListre valós idejű keresési képességgel
- Reagáljon a natív helykövetésre
- Reagáljon a natív diagramokra dinamikus eszköztippekkel