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

Comment signer la connexion OKEx API version 5 avec websockets ?

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"