IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

React Discussion :

[useFetchQuery] Questionner ma DB toutes les minutes pour rafraichir mes graphiques


Sujet :

React

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut [useFetchQuery] Questionner ma DB toutes les minutes pour rafraichir mes graphiques
    Bonjour à tous

    J'arrive extraire des données de ma base de donnée MySQL pour les afficher sur mon SmartPhone grâce a ceci

    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    const {data: getstation, isFetching} = useFetchQuery("/getstation/[id]", {id: params.id})
    const measures = getstation?.stations?.[0].measures
      const station = getstation?.stations?.[0]

    Puis j'exploite 'measures' et ' station' plus bas dans mon code.

    NB: Je remarque que lorsque je charge la station 1, j'ai un loading, quand je charge la station 2, j'ai aussi un loading, mais quand je reviens sur ma station 1, j'ai plus de loading, probablement parce que les données ont déjà été chargées

    Mon problème est que mes stations prennent des mesures en temps réel et il faut que le(s) graphique(s) d'une vue se rafraichissent toutes les toutes les 60 seconde.

    Mes deux problèmes est que 1., ... ben je ne sais pas comment le faire, et 2. il semble que mes données soient conservées puisqu'il n'y a pas de loading quand on revient sur une page/vue.

    Il faut savoir

    1. je charge mes stations sur la meme vue/page
    Nom : Screenshot 2025-04-25 at 08.59.13.png
Affichages : 70
Taille : 15,5 Ko
    2. j'utilise Gifted Charts pour afficher mes graphe

    Je pense qu'il faudrait que je recharge station/[id].tsx pour que useFetchQuery soit ré-appelé
    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    const {data: getstation, isFetching} = useFetchQuery("/getstation/[id]", {id: params.id})
    Mais comment recharger, dans un interval défini, une page tout en s'assurant qu'il télécharge toutes les mesures, y compris les dernières?

    On ne pourrait pas faire en sorte que
    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    const {data: getstation, isFetching} = useFetchQuery("/getstation/[id]", {id: params.id})
    soit appelé en background toutes les 60 sec, avec un minuteur?

    Je vous remercie pour vos lumières

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 683
    Par défaut
    vous pouvez faire cela en relançant en différé la fonction qui met à jour les données à la fin de cette fonction.
    https://developer.mozilla.org/fr/doc...dow/setTimeout

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/06/2018, 16h24
  2. Réponses: 3
    Dernier message: 26/06/2017, 14h42
  3. [XL-2010] Code pour sauvegarder un fichier automatiquement toutes les minutes
    Par philou665 dans le forum Excel
    Réponses: 3
    Dernier message: 03/09/2014, 22h07
  4. afficher l'heure toutes les minutes
    Par rvfranck dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 22/02/2005, 14h12
  5. Réponses: 2
    Dernier message: 17/01/2005, 14h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo