Alternative à base.OnAppearing dans Xamarin.Forms
Questions de base, existe-t-il une alternative à base.OnAppearing qui ne fonctionnera qu'une seule fois?
Actuellement, dans OnAppearing, j'ai un script qui génère des cadres en fonction du résultat d'une requête. Si je verrouille l'écran et que je le déverrouille, il interroge à nouveau et ajoute le résultat au bototm de la liste, dupliquant essentiellement les résultats.
Je pourrais ajouter une vérification sur un booléen HasLoaded en premier, mais il doit sûrement y avoir un moyen intégré d'exécuter uniquement le script Onload? J'ai regardé à travers les propriétés de la base et je ne vois rien d'évident.
Merci de votre aide!
Il est préférable de déplacer votre script vers le constructeur ou de créer une Init
méthode qui est appelée de l'extérieur (si possible). Lorsque vous créez votre page, avant d'appeler, appelez PushAsync
simplement Init
votre Page
instance.
OnAppearing / OnDisappearing n'est pas un très bon endroit pour un tel code, comme indiqué dans la documentation Microsoft ( https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/navigation/hierarchical ).
Les appels aux remplacements OnDisappearing et OnAppearing ne peuvent pas être traités comme des indications garanties de navigation dans les pages. Par exemple, sur iOS, le remplacement OnDisappearing est appelé sur la page active lorsque l'application se termine.
Il est donc possible que votre script soit ignoré.