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

235
Vistas
Comprobación de mecanografiado si un valor es una cadena

tengo un componente:

 export type IDAta = string | number | null; interface IDAta { data?: string | number | null; verify: boolean; } const App: React.FC<IDAta> = ({ data = '', verify = true, }) => { if ((data || data === 0) { return ( <div> {verify && isText(data) ? ( <Child text={data} /> ) : ( data )} </div> ); } }; export default App;

isText y el componente Child esperan que los parámetros solo sean una cadena, pero al hacer esto, verify && isText(data) , luego obtengo un error en mecanografiado como Type 'number' is not assignable to type 'string'. . Esto podría resolverse de la siguiente manera:

 { verify && typeof data === 'string' && isText(data) ? ( <Child text = {data as string}/> ) : ( data ) }

No estoy seguro de si esta solución está bien, porque typeof data === 'string' duplica la lógica de la función isText que se ve así:

 const isText = (data: string) => { return typeof data === 'string'; };

Pregunta: ¿Cuál será la mejor solución para resolver el problema descrito anteriormente?

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

0

Una función de guardia/predicado de tipo :

 function isText(data: any): data is string { return typeof data === 'string'; };
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