2017-07-04 2 views
0

-natif réagir routeur flux v3.37.0 v0.42.0 réagir natifChangement dynamique de l'image du bouton gauche et droite du tiroir?

enter image description here

Je suis en train de mettre à jour l'image barre de navigation de tiroir de droite dynamique où je l'ai utilisé leftButtonImage, rightButtonImage, où une fois l'utilisateur lit toute la notification Je veux changer l'image du bouton.

Je n'ai pas réussi à restituer ou mettre à jour cette image de bouton. Cette fonction n'est-elle pas supportée ou y a-t-il quelque chose qui me manque?

+0

Si des accessoires ou des changements d'état pour le composant, il devrait mettre à jour. Vous devriez placer des extraits de code pertinents pour que nous puissions voir s'il y a des problèmes. –

Répondre

0

Vous pouvez appeler Actions.refresh lorsque vous devez actualiser la vue, par exemple:

Actions.refresh({key: 'profileView', renderRightButton: this.renderRightButton }); 

et aussi définir renderRightButton:

renderRightButton() { 
    return (
      <TouchableOpacity onPress={ console.log(this) } > 
      <Text>Logout</Text> 
      </TouchableOpacity> 
     ) 
} 

et enfin ne pas oublier d'importer des actions de réagir natif -router-flux

import {Actions} from 'react-native-router-flux'; 
+0

cela ne fonctionnera pas où, il va remplacer les actions et les choses vont se passer avec l'action manquante –

0

Vous pouvez effectuer un nouveau rendu en utilisant props ou states naturellement.

Vérifiez les états que vous voulez, et appliquer des ressources d'image suivant les états. (Ou accessoires)

let NotiImage = { 
    normal: require('../assets/image/notinormal.png'); 
    new: require('../assets/image/new.png'); 
} 

render() { 
    ... 

    <Image source={ this.state.newNoti ? NotiImage.new : NotiImage.normal } /> 

    ... 
}