Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

96
Visualizações
Por qué mi tipo de enumeración no funcionará en el proyecto Next.js

Recibo este error "El tipo 'cadena' no se puede asignar al tipo '"izquierda" | "derecha"'".

Proyecto ejecutándose en Next.js

Aquí está mi definición de tipo

 export interface TwoColumnsBlueWhite { title: String; subTitle: String; content: JSX.Element; links: string[]; imageSide: 'left' | 'right' }

Esta es mi matriz con mapa.

 const data = [ { title: 'some' ... imageSide: 'left' }, { title: 'some' ... imageSide: 'right' }, ]; <Carousel /> {data.map((data) => ( <TwoColumnsBlueWhite title={data.title} subTitle={data.subTitle} content={data.content} links={data.links} imageSide={data.imageSide} /> ))}

lo intento

Ponga manualmente en los accesorios 'izquierda' o 'derecha' en los accesorios, luego trabaje, pero necesito este mapa de componentes.

si cambio mi definición en imageSide: 'left' | 'correcto' | cuerda

luego trabaje para, pero me gustaría usar escritura estricta ...

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

'left' y 'right' no son type o enum type en imageSide: 'left' | 'right' .

Una solución podría ser que primero defina el tipo de enumeración como se muestra a continuación,

 export enum ISide { LEFT = 'left', RIGHT = 'right' }

Luego, utilícelo cuando sea necesario,

 export interface TwoColumnsBlueWhite { title: String; subTitle: String; content: JSX.Element; links: string[]; imageSide: ISide.LEFT | ISide.RIGHT // <--- import ISide and use it here as shown }

además,

 const data = [ { title: 'some' ... imageSide: ISide.LEFT // <---- check this }, { title: 'some' ... imageSide: ISide.RIGHT // <---- check this }, ];
about 4 years ago · Juan Pablo Isaza Relatório

0

Hago algo similar a la otra respuesta pero la presento como const . Evita la ampliación y tener que establecer qué opciones permite explícitamente.

 const OPTIONS = { LEFT = 'left', RIGHT = 'right' } as const; type TImageSlide = typeof OPTIONS[keyof typeof OPTIONS]; export interface TwoColumnsBlueWhite { imageSide: TImageSlide, ...other options }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda