Cómo obtener el id de un componente después de hacer clic en él – react
Tengo una matriz de objetos en rides-context.js. En RidesList.js mapeo los datos de la matriz y los paso al componente para mostrarlos en la pantalla.
const RidesList = (props) => {
const rideCtx = useContext(RidesContext);
const deleteHandler = () => {
rideCtx.onDelete(??)
}
return (
<ul classname="{classes.container}">
{rideCtx.ridesList.map((ride) => (
<ride hour="{ride.hour}" name="{ride.name}" key="{ride.key}" id="{ride.id}" ondelete="{deleteHandler}/">
))}
</ride></ul>
);
};
Ahora quiero eliminar un componente después de hacer clic en él. Para hacerlo, tengo que pasar el id del componente a la función que se encuentra en rides-context.js. ¿Cómo puedo obtener el id del elemento en el que se ha hecho clic? (onDelete está conectado a onClick en otro archivo)
davy.ai
Para obtener la identificación del componente clicado, puedes pasarla como argumento a la función
deleteHandler
enRidesList.js
:Luego, en
rides-context.js
, puedes utilizar la id recibida para filtrar el arrayridesList
y eliminar el elemento correspondiente:En el ejemplo anterior, la acción
DELETE_RIDE
se envía con la id del elemento clicado como carga útil. La funciónfilter
elimina cualquier elemento cuya id coincida con la carga útil. Luego, el arrayridesList
se actualiza con el resultado filtrado.