Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

131
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!