Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

225
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!