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

120
Vistas
¿Cómo solucionar el problema de tipo para la representación condicional?

Estoy tratando de implementar una representación condicional simple donde si prefixText prop tiene más de 0 cadenas, renderice elementos de doble tramo, de lo contrario renderice un solo elemento de tramo. Pero en prefixText.length recibo un mensaje de error que dice "se espera". También en Text, aparece el error de tipo "faltan propiedades para ReactElement<any, any>". ¿Cómo puedo solucionar este problema? https://codesandbox.io/s/text-component-v2dbt?file=/src/App.tsx:0-538

 import * as React from "react"; export interface TextProps { children: string; prefixText?: string; } export const Text: React.FunctionComponent<TextProps> = ({ children, prefixText }: TextProps) => { return ( { prefixText.length > 0 ? <span> <span style={{ fontWeight: "bold" }}>{prefixText} </span> <span>{children}</span> </span> : <span>{children}</span> } ); }; export default function App() { return ( <div> <Text prefixText="Tips:">favourite vacation</Text> </div> ); }
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Debe envolver su declaración de devolución en React.Fragment .

Debe tener un aspecto como este

 return ( <> { prefixText.length > 0 ? ( <span> <span style={{ fontWeight: "bold" }}>{prefixText} </span> <span>{children}</span> </span> ) : ( <span>{children}</span> ) </> } );

O también puede deshacerse de las llaves de retorno y crear una construcción como esta:

 return prefixText.length > 0 ? ( <span> <span style={{ fontWeight: "bold" }}>{prefixText} </span> <span>{children}</span> </span> ) : ( <span>{children}</span> )
about 4 years ago · Juan Pablo Isaza Denunciar

0

Actualice su código de bloqueo de retorno de la siguiente manera:

 return ( prefixText ? <span> <span style={{ fontWeight: "bold" }}>{prefixText}</span> <span>{children}</span> </span> : <span>{children}</span> );

O actualice su componente a lo siguiente:

 export const Text: React.FunctionComponent<TextProps> = ({ children, prefixText }: TextProps) => ( prefixText ? <span> <span style={{ fontWeight: "bold" }}>{prefixText} </span> <span>{children}</span> </span> : <span>{children}</span> );
about 4 years ago · Juan Pablo Isaza Denunciar

0

envuelva su componente con react.fragment y también verifique si existe prefixText en su condición porque prefixText es parcial en su interfaz mecanografiada

 return ( <React.Fragment> { prefixText && prefixText.length > 0 ? <span> <span style={{ fontWeight: "bold" }}>{prefixText} </span> <span>{children}</span> </span> : <span>{children}</span> } </React.Fragment> );
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