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

168
Views
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 answers
Answer question

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 Report
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!