Declaro esto para recibir el valor de los parámetros de opciones donde el valor puede ser una sola cadena u otro objeto como options?: string[] | IServiceDetail[] | IServiceAccordion[];
Pero cuando intento mapear los objetos anteriores obtengo un error:
Property 'title' does not exist on type 'string | IServiceAccordion | IServiceDetail'. Property 'title' does not exist on type 'string'. return options?.map( (category: string | IServiceDetail | IServiceAccordion) => { return ( <Text key={category.title}puedes comprobar si el tipo no es una cadena antes de acceder al título, porque una cadena es una primitiva y no tiene ninguna propiedad:
options?.map((category: string | IServiceDetail | IServiceAccordion) => { if(typeof category !== "string") return <Text key={category.title} /> else return return <Text key={category} /> }porque string es un tipo premitivo. por lo que no tiene el atributo "título". si está seguro de que la categoría no es una cadena y es un objeto y también tiene el atributo "título", puede usar la conversión de tipos
<Text key={(category as IServerDetail).title} />