TypeScript React Native Flatlist : Comment donner à renderItem le type correct de son élément ?

Je construis une application React Native avec TypeScript. renderItemse plaint que l'élément déstructuré a implicitement un anytype. J'ai cherché sur Google et trouvé cette question et j'ai essayé d'implémenter ce qu'ils enseignent ici combiné avec les types index.d.tsdu @typespackage pour React Native.

export interface Props {
emotions: Emotion[];
}
class EmotionsPicker extends PureComponent<Props> {
keyExtractor = (item, index) => index;
renderItem = ({ item }) => (
<ListItem title={item.name} checkmark={item.checked} />
);
render() {
return (
<FlatList<Emotion>
keyExtractor={this.keyExtractor}
renderItem={this.renderItem}
data={this.props.emotions}
/>
);
}
}

Malheureusement ça ne fonctionne pas. Comment puis-je donner le type à l'article Emotion?


Solution du problème

Je sais que c'est une vieille question, mais les gens qui la recherchent sur Google pourraient encore l'apprécier.

import { FlatList, ListRenderItem } from 'react-native'
/*
.
.
.
*/
renderItem: ListRenderItem<Emoticon> = ({ item }) => (
<ListItem title={item.name} checkmark={item.checked} />
);

Commentaires

Posts les plus consultés de ce blog

La fonction GCP Cloud pour écrire des données dans BigQuery s'exécute avec succès, mais les données n'apparaissent pas dans la table BigQuery

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"

Le shell POSIX (sh) redirige stderr vers stdout et capture stderr et stdout dans des variables