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

172
Vistas
Mantener el texto del archivo de entrada en la recreación del componente

Tengo un componente funcional que a veces devuelve un formulario para la selección de archivos y, a veces, devuelve algo más.

Si selecciono mi archivo, el nombre del archivo aparecerá junto al botón "seleccionar archivo", sin embargo, si renderizo otra cosa y luego vuelvo a renderizar la entrada del archivo, el nombre del archivo se pierde y el texto vuelve a "Seleccionar archivo..."

Mantengo el archivo en el estado que se muestra a continuación, pero no puedo volver a poner el nombre del archivo en la entrada, para que el usuario pueda ver que se seleccionó un archivo.

Intenté un enfoque usando Ref como puede ver a continuación, pero no funciona.

¿Que puedo hacer?

 import { useState, useRef } from 'react' import { Form } from 'react-bootstrap' const MyComponent = () => { const [file, setFile] = useState(undefined) const fileRef = useRef(null) fileRef.current = file const onChange = event => { setFile(event.target.files[0]) } if(something) { return (<div></div>) } else { return (<div> <Form.Group controlId="myFileInput" className="mb-3"> <Form.Label>Select file</Form.Label> <Form.Control type="file" onChange={onChange} ref={fileRef}/> </Form.Group> </div> } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede solucionarlo usando CSS display none en lugar de eliminar este elemento

 <div style={{display: something ? "block" : "none"}}></div> <div style={{ display: !something ? "block" : "none" }}> <Form.Group controlId="myFileInput" className="mb-3"> <Form.Label>Select file</Form.Label> <Form.Control type="file" onChange={onChange} ref={fileRef} /> </Form.Group> </div>
about 4 years ago · Juan Pablo Isaza Denunciar
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