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

224
Views
¿Cómo mostraría la imagen cargada en tiempo real en lugar de actualizar la página para verla?

Estoy usando React Query para capturar todas las URL (fotos) de CDN cargadas desde la base de datos y mostrarlas correctamente cuando el usuario navega al componente Gallery.js .

Sin embargo, cada vez que un usuario intente cargar una foto, deberá actualizar la página para que se muestre la foto cargada.

A continuación se muestra uno de mis muchos intentos fallidos ya que me he topado con una pared.

¿Cómo puedo hacer que la foto que han subido se muestre después de una carga exitosa?

Gallery.js

 // Newly uploaded photo const [newlyUploadedUrl, setNewlyUploadedUrl] = useState(""); const [newlyUploadedFlag, setNewlyUploadedFlag] = useState(false); const fileUpload = () => { const url = 'http://localhost/api/file-upload'; let formData = new FormData(); let imagefile = document.querySelector('#file'); formData.append("image", imagefile.files[0]); const headers = { "Accept": 'application/json', "Authorization": `Bearer ${authToken}` } axios.post(url, formData, {headers}) .then(resp => { let photoUrl = resp.data.url; setNewlyUploadedFlag(true); setNewlyUploadedUrl(photoUrl); }).catch(error => { console.log(error); }); } async function fetchUploads() { const headers = { "Accept": 'application/json', "Authorization": `Bearer ${authToken}` }; const {data} = await axios.get('http://localhost/api/get-user-uploads-data', {headers}); return data; } const { data } = useQuery('uploads', fetchUploads); <div className="main"> <ul className="cards"> { data.map((photos) => { return( <> <Grid newlyUploadedFlag={newlyUploadedFlag} newlyUploadedUrl={newlyUploadedUrl} src={photos.url} /> </> ); }) } </ul> </div>

Aquí está Grid.js :

 const Grid = (props) => { return ( <> <img src={!props.newlyUploadedFlag ? props.src : props.newlyUploadedUrl} alt="Photo" className="gallery-img" /> <span style={{display: 'none'}}>{props.newlyUploadedFlag}</span> <span style={{display: 'none'}}>{props.newlyUploadedUrl}</span> </> ); }
about 4 years ago · Juan Pablo Isaza
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!