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

208
Vistas
PropTypes en una aplicación TypeScript React

¿Tiene sentido usar React.PropTypes en una aplicación TypeScript React o es solo un caso de "cinturón y tirantes"?

Dado que la clase de componente se declara con un parámetro de tipo Props :

 interface Props { // ... } export class MyComponent extends React.Component<Props, any> { ... }

¿Hay algún beneficio real en agregar

 static propTypes { myProp: React.PropTypes.string }

a la definición de clase?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Typescript y PropTypes sirven para diferentes propósitos. Typescript valida los tipos en tiempo de compilación , mientras que PropTypes se verifican en tiempo de ejecución .

Typescript es útil cuando está escribiendo código: le advertirá si pasa un argumento del tipo incorrecto a sus componentes React, le dará autocompletado para llamadas a funciones, etc.

Los PropTypes son útiles cuando prueba cómo interactúan los componentes con datos externos, por ejemplo, cuando carga JSON desde una API. PropTypes lo ayudará a depurar (cuando esté en el modo de desarrollo de React) por qué su componente está fallando al imprimir mensajes útiles como:

 Warning: Failed prop type: Invalid prop `id` of type `number` supplied to `Table`, expected `string`

Aunque pueda parecer que Typescript y PropTypes hacen lo mismo, en realidad no se superponen en absoluto. Pero es posible generar PropTypes automáticamente desde Typescript para que no tenga que especificar los tipos dos veces, vea por ejemplo:

  • https://github.com/milesj/babel-plugin-typescript-to-proptypes
  • https://github.com/grncdr/ts-react-loader#qué-hace
  • https://github.com/gcanti/prop-tipos-ts
over 4 years ago · Santiago Trujillo Denunciar

0

Por lo general, no tiene mucho valor mantener los accesorios de los componentes como tipos de TypeScript y React.PropTypes al mismo tiempo.

Estos son algunos casos en los que es útil hacerlo:

  • Publicar un paquete, como una biblioteca de componentes, que utilizará JavaScript simple.
  • Aceptar y transmitir información externa, como los resultados de una llamada a la API.
  • Usar datos de una biblioteca que puede no tener tipos adecuados o precisos, si los hay.

Por lo tanto, generalmente es una cuestión de cuánto puede confiar en su validación de tiempo de compilación.

Las versiones más recientes de TypeScript ahora pueden inferir tipos en función de sus React.PropTypes ( PropTypes.InferProps ), pero los tipos resultantes pueden ser difíciles de usar o consultar en otras partes de su código.

over 4 years ago · Santiago Trujillo Denunciar

0

Como dijo @afonsoduarte.

Solo agregaría que también puede generar tipos de mecanografiados a partir de PropTypes como este:

 const propTypes = { input: PropTypes.shape({ id: PropTypes.number.isRequired, name: PropTypes.string.isRequired, }), }; type MyComponentProps = PropTypes.InferProps<typeof propTypes>; const MyComponent: FunctionComponent<MyComponentProps > = (props) => { // ... } MyComponent.propTypes = propTypes;
over 4 years ago · Santiago Trujillo 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