2017-10-11 3 views
0

Salut J'essaie de changer l'image sur un clic de bouton, mais ne peux pas sembler obtenir l'image pour changer. Voici mon code.Réagissez Source d'image native chagne sur le bouton cliquez sur

constructor(){ 
    super() 
    this.state = { 
     autologin_active: true 
    } 
} 

toggleAutoLogin(){ 
    this.state.autologin_active = this.state.autologin_active ? false : true; 
} 


<TouchableHighlight onPress={() => this.toggleAutoLogin()} style={styles.registerButton} underlayColor='#99d9f4'> 
    <View style={styles.detailBoxTick}> 
    <Image style={styles.imageTickStyle} source={this.state.autologin_active ? Images.rememberTickImg : Images.rememberUnTickImg} /> 
    <Text style={styles.tickBoxText}> 
     Auto Login 
    </Text> 
    </View>   
</TouchableHighlight> 

quelqu'un peut-il s'il vous plaît aider. Je ne sais pas ce que je fais mal. Avoir vérifié avec l'alerte que l'état est en train de changer au clic. Merci d'avance

Répondre

1

Si je vous ai bien compris, dans toggleAutoLogin(), vous mettez à jour votre état avec this.state.autologin_active = ..... qui met à jour l'état mais empêche le rendu de sorte que vous ne puissiez pas voir l'image changer.

Vous devez mettre à jour l'état avec setState ({}) afin de rendre à nouveau le composant (Image).

Votre code toggleAutoLogin() serait:

this.setState({ autologin_active: this.state.autologin_active ? false : true})

+0

Merci pour cela. Je ne peux pas croire que je n'ai pas vérifié. merci encore :) – dogwasstar

+0

Happens. Bonne chance. –