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

183
Vistas
¿Cómo puedo hacer que una entrada de texto no sea editable con React?

Busqué esto y lo más parecido que encontré fue esta publicación SO aquí ; sin embargo, no usa React.

Probé esta sintaxis a continuación que está dentro de un componente React:

 <input value={props.value} onChange={props.onChange} className={props.className} placeholder={props.placeholder} name={props.name} {props.readonly && 'readonly'}>

pero recibo un error de análisis de eslint y cuando verifico la interfaz de usuario todavía se puede escribir.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Elimine {props.readonly && 'readonly'} y agregue readonly={props.readonly} Consulte aquí para ver la descripción del atributo de solo lectura.

Su problema es que el elemento de entrada (y todos los componentes de reacción) solo toma pares clave/valor en forma de clave = {valor}, pero está tratando de insertar un poco de código javascript sin asignar el valor del resultado a una clave.

Editar: debe usar el atributo de solo lectura, no deshabilitado, como se menciona en los comentarios.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Podría tener una input sin onChange cuando props.readonly es true . Algo como esto:

 <input value={props.value} onChange={props.readonly ? undefined : props.onChange} className={props.className} placeholder={props.placeholder} name={props.name} />
about 4 years ago · Juan Pablo Isaza Denunciar

0

Use la propiedad readOnly y pásele un valor booleano

 const Example = (props) => { return ( <input readOnly={props.readonly} value={props.title}/> ); }; // Render it ReactDOM.render( <Example title="Example using Hooks:" readonly={true}/>, document.getElementById("react") );
 [readonly] {color:red}
 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/17.0.1/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/17.0.1/umd/react-dom.production.min.js"></script> <div id="react"></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