0
votes

Réagir natif - la fonction Onpress ne déclenche pas

J'ai essayé de créer un bouton qui affiche un message sur une zone d'alerte à l'aide du code suivant: xxx

Cependant, cliquer sur "Ignorer" texte ne déclenche pas la touche fonction. La seule façon dont j'ai pu déclencher la fonction était lorsque j'ai supprimé la fonction fléchée de la classe ONPRESS. ONPRESS = {Ceci.ButtonClicked ()} Mais cela entraîne une fonction pour ne être déclenchée que lorsque l'application commence d'abord. Je ne suis pas sûr de ce que je fais mal.

Toutes les parties du code attendent app.js: xxx


3 commentaires

Est-ce que cela répond à votre question? Stackoverflow.com / Questions / 60557745 / ...


@keikai Malheureusement, non.


Indiquez encore plus de détails comme constituent-il un composant fonctionnel ou une composante de classe. Si possible, partagez le code complet pour le composant


6 Réponses :


0
votes

Essayez ceci xxx


1 commentaires

Semblable à la flèche, ne déclenche toujours pas la fonction



0
votes

Essayez de modifier votre code de la manière suivante: xxx

ou à des fins de test le branchant directement dans le olfress : xxx < / pré>


3 commentaires

De nombreuses réponses dans cet aliment sont vraiment censées travailler. Êtes-vous sûr de vous référencer à votre fonction correctement? Pouvez-vous obtenir une sortie appropriée si vous console.log (this.buttonClicked) ?


Je suis d'accord mais je ne sais pas pourquoi cela ne fonctionne pas. Même ONPRESS = {() => console.log ("Cliquez sur")} ne fonctionne pas


Si cela ne fonctionne pas, vous devez vous assurer que c'est cet objet touchable que vous essayez d'accéder à et appuyez sur. Si cela ne fonctionne pas, cela signifie que vous pouvez appuyer sur autre chose



0
votes

Dans ce cas, vous devez modifier la fonction que vous déclenchez via la ONPRESS EM> FORT> PROP à

buttonClicked() {
    return alert("clicked")
}


0 commentaires

0
votes
<TouchableOpacity onPress={this.buttonClicked} style={styles.skip}>
   <Text>Skip</Text>
</TouchableOpacity>
Hope it will be work for you.

0 commentaires

0
votes

Voir ci-dessous l'exemple

import * as React from 'react';
import { Button, View, Text, TouchableOpacity } from 'react-native';

class App extends React.Component {
  buttonClicked = () => {
    return alert('clicked');
  };
  render() {
    return (
      <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
        <TouchableOpacity
          onPress={this.buttonClicked}  
          style={styles.skip}>
          <Text>Skip</Text>
        </TouchableOpacity>
      </View>    
    );
  }
}

const styles = {
  skip: {
    width: '90%',
    padding: 10,
    backgroundColor: 'green',
  },
};

export default App;


0 commentaires

0
votes

Le problème était le "code> absolu changeant qui a résolu le problème.


0 commentaires