Tengo un componente HorizontalList que representa esto:
<HorizontalList data={categories} renderItem={renderCategories} titleList={'Categories'} />este es mi archivo de componentes que recibe los siguientes accesorios
//HorizontalList.tsx interface Props { titleList: string; data: object[]; renderItem: <--- //IDK what type should be here; } const HorizontalList: React.FC<Props> = ({titleList, data, renderItem}) => { return ( <View style={styles.root}> <Text style={styles.titleText}>{titleList}</Text> <FlatList horizontal data={data} renderItem={renderItem} /> </View> ); }; pero no sé qué tipo debería ser renderItem prop, lo intenté con () => JSX.Element , pero aparece el error:
Type '({ item }: { item: ICategorieItem; }) => JSX.Element' is not assignable to type '() => Element'.Puedes hacerlo;
interface Props { titleList: string; data: ICategorieItem[]; renderItem: ({ item: ICategorieItem, index: number, }) => React.ReactElement; } o alternativamente, puede hacer uso de ListRenderItem de react-native .
Para más alternativas, por favor vea esta discusión .
// data prop type definition for FlatList data: ReadonlyArray<ItemT> | null | undefined; // renderItem prop type definition renderItem: ListRenderItem<ItemT> | null | undefined; Cuando también vea las definiciones de tipo para renderItem y accesorios data , notará que los accesorios de aquellos que reciben exactamente el mismo tipo genérico.