3 votes

TouchableHighlight ne respecte pas le changement d'état

J'ai un <TouchableHighlight> enveloppant un composant <Text> et onPress, je mets le booléen d'état à false pour le faire disparaître. Cela fonctionne comme un charme sur iOS, mais sur Android, la fonction <Text> disparaît mais le <TouchableHighlight> est toujours rendu.

Des conseils ?

{(this.state.showUpdateToast && this.state.updateCount > 0) ?
          (<TouchableHighlight 
            underlayColor='rgba(116, 59, 243, 1)' 
            style={styles.toast} 
            onPress={this.refresh.bind(this)}
          >
            <Text style={styles.toastText}>
              {this.state.updateCount}{this.state.updateCount < 2 ? this.props.getLabel('updateToastSingle') : this.props.getLabel('updateToast')}
            </Text>
          </TouchableHighlight>) 
          : null
        }

2voto

Saleel Points 627

Je ne sais pas si cela va résoudre le problème, mais pouvez-vous essayer quelque chose comme ceci :

<TouchableHighlight
  underlayColor="rgba(116, 59, 243, 1)"
  style={[styles.toast, !(this.state.showUpdateToast && this.state.updateCount) && { opacity: 0 }]}
  onPress={this.refresh.bind(this)}
>
  <Text style={styles.toastText}>
    {this.state.updateCount}{this.state.updateCount < 2 ? this.props.getLabel('updateToastSingle') : this.props.getLabel('updateToast')}
  </Text>
</TouchableHighlight>

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