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

151
Vistas
¿Cómo activar la función en reaccionar desde un objeto extranjero representado con d3?

En la aplicación React arrastro componentes

 const Draggable = ({ children, onDragStart, onDragEnd }) => ( <div className="draggable" draggable={true} onDragStart={onDragStart} onDragEnd={onDragEnd} > {children} </div> );

cuando soltaron estos componentes se convirtieron en elementos svg renderizados con d3js.

 const onDrop = (e) => { e.stopPropagation(); const newElement = { id: elements.length + 1, x: e.nativeEvent.offsetX, y: e.nativeEvent.offsetY, data: draggedData }; setElements((elements) => [...elements, newElement]); }; ... useEffect(() => { const svg = d3 .select(svgRef.current) .attr("width", width) .attr("height", height); if (elements.length) { svg .selectAll(".node") .data(elements, (d) => d.id) .join( (enter) => { if (enter && prevCount !== elements.length) { const { type } = enter.datum().data; if (type === "person") { renderNode(enter, svg, setElements, "enter"); } else { renderInput(enter, svg, setElements, "enter"); } ...

Un elemento svg contiene objeto extranjero con entrada y un botón (sería más botones).

 node .append("foreignObject") .attr("width", labelWidth - labelPadding * 2) .attr("height", 22) .attr("x", labelPadding) .attr("y", labelPadding) .html((d) => { return `<div> <form> <input type='text' class='' /> <button type='button' onclick='alert("The form was submitted")'>Ok</button> </form> <div class='circle'></div> </div>`; });

Quiero activar cambios en el estado del componente de reacción cuando haga clic en el botón dentro de svg. ¿Cómo puedo manejar esto?

Aquí hay un ejemplo de trabajo

about 4 years ago · Juan Pablo Isaza
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