Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

El uso de una aplicación móvil debe ser una experiencia agradable, sin demoras frustrantes. Como desarrollador de React Native, es fundamental que optimice sus aplicaciones para que funcionen bien y sean fáciles de usar. El rendimiento máximo de la aplicación requiere que escriba un código limpio y eficiente utilizando las herramientas y bibliotecas adecuadas.

Eche un vistazo a estos consejos y técnicas para optimizar el rendimiento de su aplicación React Native.

1. Reduzca los renderizados innecesarios con useMemo Hook

React Native renderiza componentes utilizando una tecnología Virtual DOM (VDOM). El VDOM realiza un seguimiento de todos los cambios en el componente de la aplicación y vuelve a representar toda la jerarquía de vistas cuando lo considera necesario. Este proceso es costoso, por lo que debe evitar actualizaciones innecesarias del estado y las propiedades del componente.

instagram viewer

La biblioteca React proporciona la useMemo y useCallback ganchos para resolver este problema en componentes funcionales. Puede usar el gancho useMemo para memorizar el valor resultante de una función de JavaScript que no desea volver a calcular en cada renderizado.

He aquí un ejemplo de cómo puede utilizar el useMemo gancho:

importar { usarMemo } de'reaccionar';

funciónmicomponente({ datos }) {
// La función computarValorCaro es un cálculo costoso que
// no es necesario volver a calcular en cada renderizado.
constante valorcaro = useMemo(() => computarValorCaro (datos), [datos]);

// El componente puede usar el valor memorizado sin volver a calcular
// en cada render.
devolver

{valorcaro}</div>;
}

envolviendo el calcularValorCaro función dentro de la useMemo hook memoriza el resultado de la función. El useMemo hook puede aceptar un segundo argumento como una dependencia. Esto significa que la función memorizada solo ejecutará ganancia cuando cambie esta dependencia.

useCallback es parecido a useMemo, pero memoriza una función de devolución de llamada en lugar de un valor. Esto puede ser útil para evitar la repetición innecesaria de componentes secundarios desencadenados por una función de devolución de llamada transmitida como accesorio.

2. Manejo efectivo de datos de estado

La mala gestión del estado puede generar inconsistencias en los datos, lo que genera un comportamiento inesperado que puede ser difícil de rastrear y corregir. Una buena gestión de estado implica evitar el almacenamiento de datos innecesarios en el estado, lo que puede ralentizar la aplicación y dificultar la depuración. Es importante asegurarse de que todo el estado que almacene sea absolutamente necesario para que el componente se represente.

Otra forma de actualizar el estado de manera efectiva es usar técnicas de inmutabilidad, como el operador de propagación o el Objeto.assign() método.

Por ejemplo:

importar Reaccionar, { estado de uso } de'reaccionar';

funciónmicomponente() {
constante [estado, establecerEstado] = usarEstado({
contar: 0,
texto: 'Hola'
});

funciónhandleClick() {
establecerEstado(estado anterior => {
devolverObjeto.assign({}, prevState, { cuenta: prevState.count + 1 });
});
}

devolver (


En este ejemplo, el handleClick función utiliza el establecerestado gancho para actualizar el estado. Aun así, en lugar de modificar directamente el objeto de estado, utiliza el Objeto.assign() método para crear un nuevo objeto que copia el estado anterior con la propiedad de recuento modificada. Este enfoque permite que el DOM virtual de React vuelva a renderizar el componente cuando reconoce que ha actualizado el estado.

También puede usar una biblioteca de administración de estado como Redux y la API de contexto incorporada para implementar esta técnica.

3. Implementar un Sistema de Monitoreo de Desempeño

Los sistemas de supervisión del rendimiento de las aplicaciones móviles (PMS) son herramientas que le permiten medir y analizar el rendimiento de sus aplicaciones móviles. Proporcionan funciones como monitoreo en tiempo real, informes de fallas, monitoreo de red, métricas de rendimiento y reproducción de sesiones de usuario. El uso de un sistema de monitoreo de rendimiento con su aplicación React Native le permitirá identificar cuellos de botella de rendimiento para corregir y escalar su aplicación.

Aquí hay una lista de varias herramientas de PMC disponibles.

  • React Native Debugger: una aplicación independiente que le permite depurar e inspeccionar el estado de su aplicación React Native. También incluye un monitor de rendimiento para ayudarlo a identificar y solucionar problemas de rendimiento.
  • React Native Profiler: esta herramienta de monitoreo de rendimiento integrada le permite observar el rendimiento de su aplicación midiendo el tiempo que lleva renderizar cada componente.
  • Flipper: una plataforma de desarrollo de aplicaciones móviles con un monitor de rendimiento que puede ayudarlo a identificar y solucionar problemas de rendimiento.
  • Monitoreo de rendimiento de Firebase: una herramienta de monitoreo de rendimiento proporcionada por Firebase que le permite realizar un seguimiento del rendimiento de su aplicación en diferentes dispositivos y plataformas.

4. Eliminar declaraciones de Console.log

Cuando se ejecuta una instrucción console.log, envía un mensaje al motor de JavaScript para registrar el mensaje en la consola. Luego, el motor JS tarda en procesar y mostrar el mensaje.

Demasiadas declaraciones de consola en su código ralentizarán su ejecución y provocarán retrasos en el rendimiento. Esto puede ser especialmente problemático cuando su aplicación se ejecuta en un dispositivo con recursos limitados, como un dispositivo móvil de gama baja.

5. Construya un sistema de navegación eficiente

Un buen sistema de navegación mejorará la estructura general de su aplicación React Native, facilitando el mantenimiento, la actualización de funciones y la transmisión eficiente de datos de estado. Además, hace que cambiar entre múltiples pantallas en su aplicación sea mucho más fácil, mejorando la experiencia del usuario.

Debe considerar factores como el patrón de navegación correcto (basado en pestañas, en pilas, en cajones, etc.) para adaptarse a su aplicación. Tenga en cuenta la cantidad de pantallas que espera en su aplicación y cómo pasará los datos de estado entre ellas.

El almacenamiento en caché es un método útil para desarrollar un sistema de navegación confiable. El almacenamiento en caché le permite guardar el estado de una pantalla o componente cuando el usuario lo abandona y luego restaurarlo cuando regresa. Esto ayuda a minimizar la cantidad de datos que necesita cargar y la cantidad de veces que necesita volver a renderizar.

React Native tiene varias bibliotecas disponibles para la navegación, como React Navigation y React Native Navigation. Puede usarlos para implementar algunos de estos patrones de navegación comunes en su aplicación.

6. Reduzca el tamaño de la aplicación con división de código y carga diferida

El tamaño de la aplicación es importante para optimizar el rendimiento porque puede afectar aspectos de la experiencia del usuario, como el tiempo de carga inicial, el uso de la memoria y el espacio de almacenamiento.

La división de código y la carga diferida son técnicas que pueden reducir el tamaño de su aplicación React Native y mejorar el rendimiento.

La división de código es el proceso de dividir una gran base de código JavaScript en "paquetes" más pequeños y manejables. Esto puede reducir significativamente el tiempo de carga inicial de la aplicación.

La carga diferida es una técnica que le permite cargar componentes a medida que el usuario navega hacia ellos en lugar de al inicio. Esto puede ayudar a reducir la cantidad de memoria que usa su aplicación y mejorar el rendimiento general.

Por qué es importante la optimización del rendimiento

La optimización del rendimiento es crucial para el éxito de cualquier aplicación móvil. Una aplicación lenta puede generar una experiencia de usuario deficiente y, en última instancia, generar una baja participación y retención.

Estos trucos son solo algunas de las formas que puede utilizar para garantizar una experiencia agradable para la base de usuarios de su aplicación.