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

226
Vistas
Reaccionar: empujar un objeto actualizado a una matriz cuando el índice es dinámico y cambiante

Tengo este diseño a continuación que si hace clic en cualquier mosaico debajo de cada categoría, debería empujar ese mosaico al panel de control a la derecha y al mismo tiempo eliminar ese mosaico de la barra lateral. Después de hacer clic en el mosaico 0, por ejemplo, se eliminó de la barra lateral y se agregó a la categoría 3 en el mosaico 0 en el tablero del lado derecho.

El estado actual de mi tablero tiene esta forma después del primer clic en Agregar mosaico:

 [ 0: { id: 0, name: 'Category 3', tiles: [ 0: { category: 'Category 3', id: 'tile0', name: 'Tile 0' }, ] } ]

El problema surge cuando trato de agregar el segundo mosaico de Categorías que no están en orden (Agregar mosaicos de la Categoría 2 primero, por ejemplo) Aquí hay una parte de mi código:

 const handleAddTiles = (categoryName, categoryIndex) { tiles.forEach(tile => { const categoryExists = dashboardState.map(category => category.name).includes(tile.category) if (categoryExistOnDashboard) { setDashboardState((prevState) => { const categories = [...prevState]; const categoryToUpdate = { ...categories[categoryIndex] }; // prints the state above const categoryTiles = [...categoryToUpdate.tiles, tile ]; // adds a new tile categoryToUpdate.tiles = categoryTiles; // replace previous tiles with new tiles // categories[categoryIndex] below is faulty indexing logic categories[categoryIndex] = { ...categoryToUpdate }; return [...categories]; // set the state to our new copy }) } }) }

El código anterior funciona tomando el índice de Categoría de la barra lateral cuando hago clic en los mosaicos, y solo funciona si agrego la lista en orden debido a la indexación. El problema ahora es que si decido agregar mosaicos de la categoría 2 primero, por ejemplo, el índice de categoría sería 2, pero en el tablero su índice sería 0, ya que es la única categoría allí. Por lo tanto, la categoría para actualizar no estaría definida ya que no puede encontrar el índice 2 en el tablero. No puedo pensar en una manera de tomar correctamente el objeto correcto del estado del tablero para actualizar mi estado y salvar mi vida. Pensé en usar categoryName para que coincida con mi artículo, pero no tengo idea de cómo usarlo para reemplazar las categorías [categoryIndex].

¡¡Gracias de antemano!!

about 4 years ago · Juan Pablo Isaza
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