Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

345
Vistas
Cuando actualizo una matriz, ¿debería tener que copiar la matriz cada vez?
const [items, setItems] = useState([]); const updateItem = (updatedItem) => { setItems(items.map((item) => { if (item.id === updatedItem.id) return updatedItem; return item; }); };

Para volver a renderizar, actualizo una matriz como la del ejemplo.

No creo que sea eficiente, porque cuando se necesita actualizar un elemento, se copia toda la matriz. Si la longitud de los elementos es 100.000, para actualizar un elemento, copia todos los elementos, ¿no?

¿Es inevitable?

Para agregar un elemento, puedo escribir un código como el siguiente:

 const addItem = (newItem) => { setItems(items.concat(newItem)); // instead of [...items, newItem] }

No estoy 100% seguro, pero creo que puede ser más eficiente.

¿Cómo puedo evitar el trabajo innecesario?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

La respuesta corta: no hay una opción simple para eso y más, esto no es un cuello de botella cuando hablamos del rendimiento de React.

La respuesta larga: React necesita saber cuándo cambiaron los datos. Y por razones de rendimiento, se decidió verificar la igualdad de enlaces para el objeto y las matrices. Si los enlaces son los mismos, entonces no cambiaron los datos.

Solo imagine la situación opuesta: tiene un objeto complejo y cambió una propiedad en algún lugar profundo. Ahora necesita recorrer recursivamente el árbol y comparar todos y cada uno de los valores, incluidos otros objetos.

Sin embargo, si le preocupa el rendimiento en React, debe buscar optimizaciones de renderización. Esta es la razón principal de los problemas de rendimiento.

about 4 years ago · Juan Pablo Isaza Denunciar

0

  1. Todas las funciones de comparación deben ejecutarse en toda la matriz, por lo que no hay mejor optimización.
  2. Tener 100000 elementos en una matriz puede ser muy malo, si no usa una lista virtualizada como react-window o virtuoso
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda