Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

330
Visualizações
Agregue y elimine la funcionalidad de favoritos en REACT

Estoy trabajando en una aplicación Reactjs simple donde encontré un problema. Actualmente tengo una funcionalidad para agregar a favoritos que funciona de la siguiente manera:

En aplicación.js:

 function handleAddFavourite(name){ const newFav = Object.values(Data).find(e => e.name === name) if(favourites.find((n)=>n.name === name)){ const newFavList = favourites.filter((n)=>n.name!==name) setFavourites(newFavList) } else { const newFavList = [...favourites,newFav]; setFavourites(newFavList) }

}

Aquí paso handleAddFavourite y favoritos en contexto a un niño anidado (SingleData).

La estructura de mi aplicación de reacción se puede ver como App.js(sends data to datafetched)-> DataFetched(receives data from data fetched and passes to singledata that is basically a row for every single data in data) -> singledata

En mi componente singledata, muestro datos en varias filas con un botón Agregar a favoritos que, al hacer clic con éxito, agrega los datos requeridos a favoritos.

singledata.js:

const {handleAddFavourite} = useContext(DataContext)

 const styleProp = (favourites.find((n)=>n.name === name))? "gold" : "white" <td> {last} </td> <td> <i class ="fa fa-star" style={{color:styleProp}} onClick={()=>handleAddFavourite(name)} /> </td>

Ahora, lo que quiero hacer con mi función Agregar a favoritos es que cada vez que se hace clic en un ícono de estrella, los datos se agregan a favoritos (ya funcionan) y el color de la estrella cambia a dorado. Para esto, mi idea era obtener la lista completa de fav en el componente singledata y verificar si los datos en fav luego cambiar el color de estilo de la estrella, pero el problema aquí es que la lista de favoritos se representa muchas veces para cada fila de datos que creo que es una mala práctica. Y no puedo encontrar una manera de resolver esto.

También lo mismo ocurre con la eliminación de favoritos, donde el color de la estrella vuelve a cambiar a blanco y los datos se eliminan de favoritos.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda