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

170
Vistas
Defina un valor de interfaz de mecanografiado como un conjunto de cadenas o lo que sea que se haya pasado como argumento

No estoy seguro de haber formulado correctamente el título de la pregunta: estoy trabajando en componentes de reacción en una biblioteca que tiene un determinado conjunto de valores predefinidos para algunas de las propiedades. Pero según el uso, se deben agregar valores adicionales a la interfaz. Esto funciona bien hasta ahora:

 export interface CompProps<Variant = string> { variant?: 'banana' | 'strawberry' | Variant; }

Sin embargo, me di cuenta de que, al trabajar con el componente, ahora aceptará cualquier cadena para la propiedad de la variant y el IDE tampoco sugerirá estos valores predefinidos en determinadas circunstancias.

¿Cuál es la forma correcta de hacer esto?

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

0

Tal vez podría aprovechar el parámetro de tipo predeterminado para escribir la propiedad de la variant con más fuerza, ya que actualmente es 'banana' | 'strawberry' | string por defecto.

Si establece el parámetro predeterminado en never en su lugar, podría evitar la unión con la string general, haciendo que la variant sea 'plátano' o 'fresa', lo que debería dar al IDE una pista más sólida sobre el valor deseado. Aquí también agregué una restricción de modo que la variante sea una cadena, que supongo que es lo que desea.

Si uno tuviera que establecer el parámetro de tipo Variant , podrían indicar explícitamente qué cadenas esperan pasar de esta manera:

 export interface CompProps<Variant extends string = never> { variant?: 'banana' | 'strawberry' | Variant; } const test: CompProps<'chocolate'> = {variant: 'chocolate'};

Sin embargo, con esta solución, el componente aún tendrá que acomodar el tipo más general (es decir, CompProps), por lo que probablemente no será muy beneficioso si los valores predefinidos deben ser evidentes dentro del componente.

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