0

Je développe une application native de réaction. J'utilise la bibliothèque react-native-router-flux pour la navigation dans l'application.react-native-router-flux: Aucune méthode de cycle de vie React n'est appelée sur la navigation de retour

La bibliothèque fonctionne correctement, mais lors de la navigation arrière, aucune méthode de cycle de vie de réaction n'est appelée.

Supposons par exemple J'ai appuyé sur le bouton de retour à la page 2, Il devient naviguer à la page 1 et le componentWillUnmount() de la page 2 est appelé mais aucune méthode de cycle de vie de la page 1 n'est appelée.

Je souhaite actualiser la page 1 en fonction du nouvel état.

Toute aide serait grandement apprécié.

+0

Publiez le code et il existe plusieurs façons d'obtenir ce que vous voulez. – octohedron

Répondre

0

Lors de la navigation arrière, par défaut Actions.pop() est appelée sans arguments. Pour actualiser la page 1, vous devez remplacer la fonctionnalité de votre bouton de retour et appeler le Actions.pop({refresh:{<propsToSetToPage1>}}). Cela devrait déclencher componentWillReceiveProps(nextProps) dans Page 1, où les NextProps sont les nouveaux accessoires que vous mettez dans le pop().

Ce qui suit est de la documentation de réagir-routeur natif flux:

Actions.pop() will pop the current screen. It accepts following optional params: 
    {popNum: [number]} allows to pop multiple screens at once 
    {refresh: {...propsToSetOnPreviousScene}} allows to refresh the props of the scene that it pops back to 

PS. Si vous développez pour Android, vous pouvez le faire pour quand l'utilisateur appuie sur le bouton de retour du matériel, aussi. Vérifiez BackAndroid sur la documentation officielle de React Native.