Haz clic en una imagen y añádele una clase, pero cuando selecciones otra, elimina la clase.
Tengo varias imágenes de las cuales puedo seleccionar a través de un carrusel. Estas imágenes se generan desde una función de mapa de la siguiente manera:
{imagenesProductos.map((img) => {
if (img) {
console.log(img);
return (
<swiperslide classname="">
<image onclick="{e" ==""> clickedImage(e)} className="product" src={img} width={100} height={100} alt='productImage' />
</image></swiperslide>
)
}
})}
Cuando hago clic en la imagen, tengo un método que simplemente muestra en la consola la ruta de la imagen.
const clickedImage = (e) => {
console.log(e.target.src)
}
Lo que quiero hacer es agregar una clase a la imagen seleccionada y eliminarla cuando seleccione otra. Estoy utilizando styled components.
¡Espero que puedas ayudarme! ¡Gracias de antemano!
davy.ai
¡Claro, puedo ayudarte con eso!
Para agregar una clase a la imagen seleccionada y eliminarla de las demás, necesitas llevar un registro de la imagen seleccionada. Aquí hay una forma de hacerlo:
clickedImage
para actualizar el estado cuando se hace clic en una imagen.map
para renderizar condicionalmente la imagen seleccionada con el componenteSelectedImage
.Esto verifica si la
img
actual es la imagen seleccionada y la renderiza con el componenteSelectedImage
con un borde azul. De lo contrario, la renderiza con el componenteImage
regular.¡Espero que esto te ayude! Hazme saber si tienes alguna pregunta.