"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > useMemo Hook explicado

useMemo Hook explicado

Publicado el 2024-11-02
Navegar:580

useMemo Hook Explained

El gancho useMemo es parte de la API Hooks de React, introducida en React 16.8, diseñada para optimizar el rendimiento memorizando los resultados de cálculos costosos. Aquí hay una explicación detallada:

¿Qué es useMemo?

useMemo es un gancho que devuelve un valor memorizado. Le permite almacenar en caché el resultado de un cálculo para que no sea necesario volver a calcularlo en cada renderizado a menos que cambien sus dependencias. Esto puede ayudar a evitar re-renderizaciones innecesarias y mejorar el rendimiento de su aplicación React.

Sintaxis

const memoizedValue = useMemo(() => {
  // computation or expensive calculation
  return value;
}, [dependencies]);

Parámetros

  1. Función (devolución de llamada): una función que devuelve un valor que desea memorizar.
  2. Matriz de dependencias: una matriz de dependencias que, cuando se modifican, harán que se vuelva a calcular el valor memorizado. Si esta matriz está vacía, el valor solo se calculará una vez (como componenteDidMount).

Cómo funciona

  • En el renderizado inicial, useMemo ejecutará la función proporcionada y devolverá su resultado, que se almacena en memoizedValue.
  • En renderizaciones posteriores, React comprobará si alguna de las dependencias ha cambiado. Si no lo han hecho, devolverá el valor almacenado en caché en lugar de volver a calcularlo.
  • Si alguna dependencia ha cambiado, React ejecutará la función nuevamente, actualizará el valor almacenado en caché y devolverá el nuevo valor.

Ejemplo

Aquí hay un ejemplo sencillo para ilustrar el uso. Nota:

import React, { useState, useMemo } from 'react';

const ExpensiveComponent = ({ number }) => {
  const computeFactorial = (n) => {
    console.log('Calculating factorial...');
    return n  computeFactorial(number), [number]);

  return (
    

Factorial of {number} is {factorial}

); }; const App = () => { const [num, setNum] = useState(0); return (
); }; export default App;

Cuándo utilizar useMemo

  • Cálculos costosos: use useMemo cuando tenga cálculos que sean costosos en términos de rendimiento y solo deban volver a calcularse cuando cambien entradas específicas.
  • Evitar renderizaciones innecesarias: si pasa objetos o matrices como accesorios a componentes secundarios, puede usar useMemo para asegurarse de que no se vuelvan a crear en cada renderización, evitando rerenderizaciones innecesarias.

Consideraciones importantes

  • Rendimiento: el uso excesivo de useMemo puede generar código más complejo y no siempre puede generar beneficios de rendimiento. Es mejor usarlo para cálculos realmente costosos.
  • Recreación de funciones: si está memorizando funciones, tenga cuidado ya que la definición de la función aún se recreará a menos que esté incluida en useCallback.

Conclusión

useMemo es una poderosa herramienta en React para optimizar el rendimiento memorizando valores. Puede ayudar a garantizar que los cálculos costosos solo se realicen cuando sea necesario, mejorando así la eficiencia de sus componentes de React. Sin embargo, se debe utilizar con prudencia para evitar complejidades innecesarias en el código.

Declaración de liberación Este artículo se reproduce en: https://dev.to/imyusufakhtar/usememo-hook-explained-2gee?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3