J'ai un FlatList
qui affiche les commentaires d'un utilisateur et je veux également remplir l'en-tête avec le profil de l'utilisateur (qui est un appel réseau différent de celui qui récupère les commentaires).Comment remplir un en-tête FlatList avec des données du réseau?
Voilà comment render()
ressemble:
render() {
return (
<FlatList
data = {this.state.comments}
renderItem = {this.renderComment}
ListHeaderComponent={this.renderHeader}
keyExtractor={(comment, index) => comment.id}
/>
)
}
puis renderHeader
ressemble à:
renderHeader() {
return (
<ProfileView user={this.state.profile} />
)
}
J'utilise fetch
dans componentWillMount
puis setState
afin d'obtenir les données (cette partie fonctionne très bien) . Maintenant, l'erreur que je reçois sur le simulateur est
non définie est pas un objet (évaluation « this.state.profile »)
mais quand je retire la méthode renderHeader
, les commentaires sont extraits correctement.
Depuis que je suis très nouveau à RN, pouvez-vous m'aider à comprendre ce qui ne va pas et comment y remédier?
extrait deuxième ne fonctionne pas, ne modifie pas FlatList est probablement le contexte, il est tout simplement pas mis du tout comme vous le dites avec l'extrait de constructeur – whitep4nther
Merci pour votre réponse - être nouveau JavaScript il me montra la bonne direction (et j'ai trouvé [cet article] (http://ryanmorr.com/understanding-scope-and-context-in-javascript/) très utile). – phi
Mon plaisir, bon article aussi! – G0dsquad