const _markers = floorEntities.map((floorEntity) => { return L.marker(floorEntity.latlng, { icon: getFloorEntityLeafletIcon(floorEntity), draggable: true, }).bindPopup( ReactDOMServer.renderToString( <Popup ref={ref} name={floorEntity.name} location={floorEntity.location} onClick={() => deleteMarker(floorEntity.id)} /> ) ); });
El componente tiene un accesorio llamado onClick que espera un método de eliminación, pero el evento no se ejecutará ya que estamos usando el método renderToString que devuelve un HTML seco, ¿hay alguna forma de hacer que se envíe el evento onClick?
Gracias.
Si usa los componentes y en lugar de crear el marcador con L
, entonces no tiene que usar ReactDOMServer.renderToString
para la ventana emergente.
import { Marker, Popup } from "react-leaflet"; const _markers = floorEntities.map((floorEntity) => { return ( <Marker key={floorEntity.id} icon={getFloorEntityLeafletIcon(floorEntity)} draggable> <Popup ref={ref} location={floorEntity.location} onClick={() => deleteMarker(floorEntity.id)} /> Your content here :) </Marker> )