2 votes

Comment changer le texte du bouton sur la réponse fetch dans react native ?

Je veux changer le texte du bouton en fonction de la réponse renvoyée par le serveur. Je n'ai pas d'autre choix que d'utiliser la même méthode que celle que je viens de décrire.

{
"responseHeader": {
"type": "314",
"status": "200",
"message": "Successfully found the profile"
},
"neighbourProfile": [{
"no_of_mutual_friends": "0",
"is_anchored": "1",
},
{
"no_of_mutual_friends": "0",
"is_anchored": "0"
}]
}

Je veux changer le texte du bouton en fonction de l'état is_anchored Si la valeur est 0, je veux que le texte du bouton soit le suivant friends autrement add Comment puis-je faire cela ? C'est la partie qui me fait réagir.

return (
      <Card>
      <CardSection>
      <Image style ={styles.thumbnail_style} source={{uri : profile_image_url}} />
       <View style= {styles.thumbnailContainerStyle}>
    <Text style={styles.userStyle}>{username}</Text>
        <Image source={require('./src/Images/profession_cell.png')}/><Text style={styles.textStyle}>
      No profession to show</Text>
      <Text style={styles.friendStyle}>{no_of_mutual_friends} Mutual friends</Text>
      </View>
      <View style={styles.buttonStyle}><Button color="#00BFA5" title="Add" onPress={() =>console.log("clicked")}>
      </Button></View>
      </CardSection>

      </Card>
    );

3voto

Val Points 86

En ce qui concerne votre question précédente, après avoir placé des voisins dans l'état :

.then((responseData) =>this.setState({neighbours: responseData.neighbourProfile}));

Vous pouvez rendre les boutons comme suit :

render() {
  return (
    <View>
    {
      this.state.neighbours.map( (neighbour) => {
        return (
          <Button title={neighbour.is_anchored == "0" ? 'friends' : 'add'} />
        )
      })
    }
    </View>
  );
}

Cela affichera un résultat simple reflétant les voisins. is_anchored valeur.

Mise à jour 1 :

Avec la mise à jour de votre question, il semble qu'il devrait y avoir une variable is_anchored Il se pourrait que ce soit le cas :

<Button color="#00BFA5" title={is_anchored == "0" ? 'friends' : 'add'} onPress={() =>console.log("clicked")} />

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X