Quiero actualizar el componente y cambiar las líneas.
Cuando trato de enviar nuevos accesorios con coordenadas, las coordenadas antiguas también se quedan.
const PolylineDecorator = withLeaflet(props => { const { positions } = props; const polyRef = useRef(); useEffect(() => { const polyline = polyRef.current.leafletElement; //get native Leaflet polyline const { map } = polyRef.current.props.leaflet; //get native Leaflet map L.polylineDecorator(polyline, { patterns: props.patterns, }).addTo(map); }, []); return <Polyline ref={polyRef} {...props} opacity="0" />; });
Es complicado depurar este sin intentarlo en la máquina local. Pero parece que necesita pasar positions
al useEffect
de la siguiente manera, por lo que se volverá a procesar cada vez que cambien las posiciones.
useEffect(() => { const polyline = polyRef.current.leafletElement; //get native Leaflet polyline const { map } = polyRef.current.props.leaflet; //get native Leaflet map L.polylineDecorator(polyline, { patterns: props.patterns, }).addTo(map); }, [positions]);