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

246
Vistas
El icono de alternancia del botón onclick no funciona en reactjs

Aquí trato de alternar los íconos de reacción cuando hago clic en el botón, pero aún no funciona:

Aquí está mi código:

 const [anchorEl, setAnchorEl] = useState(null); const open = Boolean(anchorEl); const handleClick = (event) => { setAnchorEl(event.currentTarget); }; const handleClose = () => { setAnchorEl(null); }; <button onClick={handleClick} className="top-rated-car-react-button"> {anchorEl ? ( <MdFavoriteBorder style={{ color: "#F76631", }} /> ) : ( <MdFavorite style={{ color: "#F76631", }} /> )} </button>

Intento con los botones de los iconos de reacción en el evento Click, pero no alterna con ambos iconos si MdFavoriteBorder debería cambiar con MdFavorite al hacer clic en el botón igual que cuando MdFavorite activa el cambio con MdFavoriteBorder

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

0

Parece demasiado complicado. Crearía un estado booleano que alternaría así:

 import { useState } from "react"; import { MdFavorite, MdFavoriteBorder } from "react-icons/md"; export default function App() { const [favorite, setFavorite] = useState(false); const toggleFavorite = () => setFavorite((prev) => !prev); return ( <button onClick={toggleFavorite} className="top-rated-car-react-button"> {favorite ? ( <MdFavoriteBorder style={{ color: "#F76631" }} /> ) : ( <MdFavorite style={{ color: "#F76631" }} /> )} </button> ); }

https://codesandbox.io/s/cool-poincare-wm1ite

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puedes hacer esto de una manera fácil como

 const [changeIcon, setChangeIcon] = useState(true); const handleClick = (event) => { setAnchorEl(!changeIcon); }; <button onClick={handleClick} className="top-rated-car-react-button"> {changeIcon ? ( <MdFavoriteBorder style={{ color: "#F76631", }} /> ) : ( <MdFavorite style={{ color: "#F76631", }} /> )} </button>

Al hacer clic, setChangeIcon establecerá el valor de changeIcon en falso o verdadero dependiendo del estado anterior y el componente se volverá a cargar y el ícono se alternará

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