web-dev-qa-db-fra.com

la fonction onclick ne fonctionne pas dans l'application native React

Je suis nouveau pour réagir natif. J'ai écrit le code suivant pour appeler une fonction, si un utilisateur clique sur un texte.

var login = React.createClass({
     openPopup: function(){
        console.log("function called");
     },
     render: function(){
        return (
           <View onClick={this.openPopup}>
              <Text>
                 Login
              </Text>
           </View>
        );
     }
});

Y a-t-il quelque chose de mal dans le code ci-dessus? Si je clique sur le texte de connexion, je ne reçois aucun commentaire dans la console.

EDIT Cette question est spécifique à chaque natif. Pas un double de toute autre question dans Stack Overflow.

21
Sriraman

Essaye ça-

<TouchableOpacity onPress={this.openPopup}> 
    <View> <Text>...</Text> </View> 
</TouchableOpacity>
42
hazardous

Vous devez utiliser l'un des composants d'encapsuleur suivants. Ci-dessous ne sont que ceux répertoriés, qui sont disponibles multiplateforme.

TouchableHighlight

<TouchableHighlight onPress={this.openPopup}>
    <View>...</View>
</TouchableHighlight>

TouchableOpacity

<TouchableOpacity onPress={this.openPopup}>
    <View>...</View>
</TouchableOpacity>

TouchableWithoutFeedback

<TouchableWithoutFeedback onPress={this.openPopup}>
    <View>...</View>
</TouchableWithoutFeedback>
29
purii