Utilice la biblioteca Lottie de Airbnb para animar sus cargadores.

Un cargador en Web o Móvil es un elemento de diseño esencial que generalmente se usa cuando necesitamos realizar alguna tarea asincrónica como el procesamiento o la búsqueda de datos. Dado que estas tareas pueden llevar algo de tiempo y los usuarios deben entretenerse durante este tiempo, aquí es donde los cargadores son útiles.
Los cargadores ayudan a los desarrolladores a mantener al usuario involucrado mientras esperan y evitar cualquier falta de capacidad de respuesta en la aplicación. ?
¿No quieres esperar? Consulte el paquete npm React-Native-Animated-Loader.Empezando
React Native tiene un ActivityIndicator
incorporado que se puede usar como indicador de carga.
Pero Loaders
no podemos simplemente usarlo ActivityIndicator
como queremos para evitar que el usuario realice cualquier acción hasta que la tarea esté completa. Y para esto usaremos Modals
.
Si solo desea un cargador simple y sencillo, consulte este tutorial.
¿Pero si quieres algo genial? rociado en sus cargadores, continúe con el tutorial. ?
Lottie de Airbnb?
Lottie es una biblioteca de iOS, Android y React Native que procesa animaciones de After Effects en tiempo real, lo que permite que las aplicaciones usen animaciones tan fácilmente como usan imágenes estáticas.
Vamos a utilizar su biblioteca de envoltorios React Native lottie-react-native para nuestra animación de carga personalizada.
Crea una aplicación
Lo usaremos react-native-cli
para crear un proyecto React Native, pero también puede usar Expo.
Cree un proyecto de ejemplo con el siguiente comando:
~ react-native init LoaderExample
Instalar dependencias
Ahora agreguemos los paquetes necesarios. Primero instale react-native-animated-loader
y lottie-react-native
.
~ npm install react-native-animated-loader --save
~ npm i --save lottie-react-native
Si está utilizando Expo, no necesita instalar Lottie.
Dado que lottie-react-native
requiere un enlace nativo, ejecute los siguientes comandos:
~ react-native link lottie-ios
~ react-native link lottie-react-native
Después de esto, abra la configuración del proyecto Xcode y agregue el archivo Lottie.framework
as Embedded Binaries
.
¿Agreguemos magia?
Ahora actualice su App.js
con el siguiente código:
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, },});
Al hacer clic, debería aparecer la siguiente animación en unos segundos.

Personalizar animación
La animación que ve es la predeterminada, pero puede agregar su propia animación Lottie. Si desea encontrar algunas animaciones de cargador geniales, vaya a lottiefiles, donde puede encontrar algunas animaciones de cargador preconstruidas. Simplemente elija el que le guste y descargue su archivo JSON.
Ahora agregue el archivo JSON descargado al LoaderExample
proyecto y agregue la fuente de apoyo al archivo AnimatedLoader
. Después de agregar la fuente, debería verse así:
También puede personalizar los estilos del cargador agregando animationStyle
prop.
Uso
En nuestro ejemplo, solía setTimeout
imitar una tarea asincrónica. En el mundo real, lo usaría para todo tipo de tareas asincrónicas, como obtener datos de una API.
Conclusión
Ahora que sabe cómo hacer un cargador animado genial, espero que deje de usar el antiguo y aburrido indicador de actividad para sus cargadores.
Encuentre el repositorio de la biblioteca aquí.Si te gusta este artículo, sigue adelante y muestra algo de amor con tus aplausos.
Mira mis otros artículos sobre React Native:
- Reaccionar Native FlatList con capacidad de búsqueda en tiempo real
- Reaccionar seguimiento de ubicación nativo
- Reaccionar gráficos nativos con información sobre herramientas dinámicas