Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

139
Visualizações
Cree y descargue la imagen de un componente de reacción sin renderizarlo

Mi caso de uso es simple. Tengo un componente de reacción que toma algunos accesorios y genera algo. Ahora quiero descargarlo como una imagen sin renderizarlo, básicamente sin mostrárselo al usuario. html2canvas y react-component-export-image . En ambas bibliotecas, logré capturar la captura de pantalla, pero ambas requirieron que renderizara el componente.

Usé el código de esta página para react-component-export-image https://www.npmjs.com/package/react-component-export-image

Supongamos que el siguiente es mi componente

 const Component1 = ({ reference }) => { return ( <div ref={reference} > <div className="share-cause-header"> Some header stuff </div> <div className="share-cause-body"> some body stuff </div> <div className="share-cause-footer"> some footer stuff </div> </div> ); };

Ahora, en otro Component2 , quiero enviar algunos accesorios a mi Component1 y luego descargar ese componente como una imagen sin mostrar nada al usuario. Un usuario solo debe ver el botón de descarga y la imagen descargada

 const Component2 = () => { const shareButtonImageDownload = (e) => { e.stopPropagation(); console.log("Hi there"); }; return ( <div > <button onClick={shareButtonImageDownload } ></button> </div> ); };
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si el componente no está visible, no puede tomar una captura de pantalla. Pero puede sacarlos de la vista visible, así:

https://codesandbox.io/embed/laughing-http-w3ndr?fontsize=14&hidenavigation=1&theme=dark

 import { exportComponentAsJPEG, exportComponentAsPDF, exportComponentAsPNG } from "react-component-export-image"; import React, { useRef } from "react"; const ComponentToPrint = React.forwardRef((props, ref) => ( <div ref={ref} style={{ marginTop: "-50px" }}> <div className="share-cause-header">Some header stuff</div> <div className="share-cause-body">some body stuff</div> <div className="share-cause-footer">some footer stuff</div> </div> )); const MyComponent = () => { const componentRef = useRef(); return ( <React.Fragment> <ComponentToPrint ref={componentRef} /> <button onClick={() => exportComponentAsJPEG(componentRef)}> Export As JPEG </button> <button onClick={() => exportComponentAsPDF(componentRef)}> Export As PDF </button> <button onClick={() => exportComponentAsPNG(componentRef)}> Export As PNG </button> </React.Fragment> ); }; export default MyComponent;
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda