Table des matières
Simplifiez l'acquisition de données pour les applications frontales CRUD à l'aide de React Query
Maison interface Web js tutoriel React Query 3: un guide pour récupérer et gérer les données

React Query 3: un guide pour récupérer et gérer les données

Feb 10, 2025 pm 04:08 PM

Simplifiez l'acquisition de données pour les applications frontales CRUD à l'aide de React Query

La construction d'applications CRUD front-end est facile au début, mais à mesure que la fonctionnalité augmente, la complexité augmente rapidement. Pour chaque point de terminaison de l'API, la gestion de l'état, la synchronisation, la mise en cache et la gestion des erreurs sont nécessaires. Cet article présentera une bibliothèque appelée React Query et comment elle peut aider à résoudre tous ces problèmes. La bibliothèque prétend être une "bibliothèque d'acquisition de données manquante" et fournit une "gestion de l'état du serveur" pour votre application React.

Nous utiliserons un projet complet de démonstration de requête React pour apprendre les fonctionnalités principales fournies par la bibliothèque. Vous pouvez ensuite appliquer ces connaissances à votre propre projet. Tout d'abord, apprenons un peu à ce sujet avant de commencer la configuration du projet.

React Query 3: A Guide to Fetching and Managing Data

Points clés

  • React Query 3 simplifie la gestion des états et l'acquisition de données dans les applications React, la gestion efficace du cache, de la synchronisation et de la gestion des erreurs.
  • Cette bibliothèque convient aux développeurs de niveau moyen à élevé familier avec React, React Router et REST API.
  • React Query 3 ajoute de nouvelles fonctionnalités et améliorations à la version 2.x et fournit un guide de migration pour les utilisateurs améliorés.
  • Les fonctionnalités clés de la démo dans le projet de démonstration comprennent les requêtes de base, les requêtes de pagination et les requêtes illimitées, ainsi que les opérations de création, de mise à jour et de suppression.
  • L'utilitaire Devtools de React Query aide à déboguer en visualisant les états et les processus internes en temps réel.
  • Des options de configuration telles que
  • cacheTime et staleTime optimiser les performances en gérant la fraîcheur des données et la durée du cache.
  • Cette bibliothèque prend en charge les scénarios avancés tels que le défilement illimité et les dépendances d'état complexes, améliorant l'expérience utilisateur et l'expérience des développeurs.

À propos de React Query 3

React Query est un projet open source créé par Tanner Linsey. La dernière version majeure de React Query 3 a été officiellement publiée en décembre 2020. Dans cette nouvelle version, de nouvelles fonctionnalités ont été ajoutées et les fonctionnalités existantes ont été améliorées.

Il convient de noter qu'il a des changements significatifs par rapport à la version précédemment très populaire de React Query 2.x. Il existe un guide de migration qui explique clairement ces changements, car vous pouvez rencontrer de nombreux tutoriels obsolètes écrits pour les versions plus anciennes.

La nouvelle version offre une énorme amélioration, et bon nombre des bogues précédemment signalés ont été résolus. Bien que la version 3.x soit prête pour la production, elle est toujours en cours de développement et est régulièrement corrigée avec des bogues nouvellement découverts.

Précautions

Cet article concerne les développeurs frontaux de niveau intermédiaire, qui ont maîtrisé les compétences et les connaissances de base suivantes:

  • react
  • REACT ROUTER
  • React Hooks
  • Rest API Data Acquisition

Dans votre environnement de machine de développement, vous devez définir les éléments suivants:

  • node.js
  • git
  • REST CLIENTS tels que les extensions de repos pour les facteurs, l'insomnie ou le code vs

sur le projet

Le projet de démonstration que nous analyserons est une application frontale React qui utilisera React Query pour obtenir les données fournies par le serveur API JSON Rest. L'application se compose de seulement cinq pages, montrant ce que propose React Query. Ces fonctionnalités incluent:

  • requête de base
  • Query de pagination
  • Query illimité
  • Créer une opération
  • Mettre à jour l'opération
  • Supprimer l'opération

React Query fournit plus de fonctionnalités, mais cet article est limité dans l'espace et ne peut pas être introduit un par un. Voici un aperçu de l'application que nous utiliserons:

React Query 3: A Guide to Fetching and Managing Data

Paramètres du projet

Avant de commencer à nous installer, je pense qu'il est préférable de jeter un bref aperçu des autres dépendances utilisées dans le projet. Ceux-ci incluent:

  • VITE: Un outil de construction très rapide
  • Winticss: un compilateur CSS très rapide à vent arrière
  • REACT HORD FORM: Un constructeur de formulaires et une bibliothèque de vérification qui utilise des crochets React
  • React Modal: un composant modal accessible
  • axios: un navigateur basé sur des promesses Client HTTP
  • serveur JSON: un serveur API de repos de contrefaçon complet

Pour configurer l'application de démonstration React Query sur votre propre machine, effectuez les instructions suivantes:

# 克隆项目
git clone git@github.com:sitepoint-editors/react-query-demo.git

# 导航到项目目录
cd react-query-demo

# 安装包依赖项
npm install

# 为 json-server 设置数据库文件
cp api/sample.db.json api/db.json

# 启动 json-server
npm run json-server
Copier après la connexion
Copier après la connexion

Le fichier de base de données utilisé par JSON-Server contient un tableau d'utilisateurs. Lorsque vous exécutez npm run json-server, un faux serveur API commencera sur le port 3004. L'exécution d'une demande GET produira l'exemple suivant JSON Response:

[
  {
    "id": 1,
    "first_name": "Siffre",
    "last_name": "Timm",
    "email": "stimmes0@nasa.govz",
    "gender": "Male"
  },
  {
    "id": 2,
    "first_name": "Fonzie",
    "last_name": "Coggen",
    "email": "fcoggen1@weather.com",
    "gender": "Female"
  },
  {
    "id": 3,
    "first_name": "Shell",
    "last_name": "Kos",
    "email": "skos2@prweb.com",
    "gender": "Female"
  }
]
Copier après la connexion
Copier après la connexion

Ensuite, démarrez le serveur de développement qui exécutera le code frontal:

# 在另一个终端中,启动 React 开发服务器
npm run dev
Copier après la connexion
Copier après la connexion

Accédez à votre navigateur et ouvrez http://localhost:3000 pour accéder à l'application. Vous devriez avoir la même expérience que dans l'aperçu ci-dessus. Assurez-vous d'effectuer les tâches suivantes pour explorer soigneusement la fonctionnalité de l'application:

  • Affichez la page de requête de base (page d'accueil).
  • Accédez à la page de pagination et interagissez avec les boutons précédents et suivants.
  • Accédez aux pages illimitées et interagissez avec le bouton de chargement plus.
  • Revenez à la page de requête de base et cliquez sur le bouton "Créer un utilisateur". Vous serez dirigé vers la page Créer des utilisateurs. Remplissez le formulaire et cliquez sur le bouton Enregistrer.
  • Dans la table utilisateur, trouvez l'icône d'édition. Cliquez dessus. Cela vous amènera à la page Modifier les utilisateurs. Faites toutes les modifications que vous aimez et cliquez sur le bouton "Enregistrer".
  • Dans la table utilisateur, trouvez l'icône "Supprimer". Cliquez dessus. Cela démarrera une boîte de dialogue modale qui vous demande de confirmer l'opération de suppression. Cliquez sur le bouton Supprimer pour confirmer.

Après avoir terminé toutes les tâches ci-dessus, nous pouvons commencer à décomposer le projet. Veuillez vérifier la structure du projet pour comprendre l'emplacement de chaque composant et la vue. Je vais fournir une version simplifiée de ces composants dans cet article afin que vous puissiez comprendre les bases de l'utilisation de React Query dans votre projet.

Installation React Query

React Query peut être installé dans des projets REACT vides ou existants en utilisant la commande suivante:

# 克隆项目
git clone git@github.com:sitepoint-editors/react-query-demo.git

# 导航到项目目录
cd react-query-demo

# 安装包依赖项
npm install

# 为 json-server 设置数据库文件
cp api/sample.db.json api/db.json

# 启动 json-server
npm run json-server
Copier après la connexion
Copier après la connexion

Ce package contient tout ce dont vous avez besoin - y compris les fonctionnalités utilitaires Devtools, dont nous discuterons plus tard. Après avoir installé le package, vous devez mettre à jour votre composant de niveau supérieur - App.jsx - comme illustré ci-dessous:

[
  {
    "id": 1,
    "first_name": "Siffre",
    "last_name": "Timm",
    "email": "stimmes0@nasa.govz",
    "gender": "Male"
  },
  {
    "id": 2,
    "first_name": "Fonzie",
    "last_name": "Coggen",
    "email": "fcoggen1@weather.com",
    "gender": "Female"
  },
  {
    "id": 3,
    "first_name": "Shell",
    "last_name": "Kos",
    "email": "skos2@prweb.com",
    "gender": "Female"
  }
]
Copier après la connexion
Copier après la connexion
Tout composant enfant de

QueryClientProvider pourra accéder aux crochets fournis par la bibliothèque React Query. Les crochets que nous utiliserons dans cet article sont:

  • useQuery
  • useInfiniteQuery
  • useMutation
  • useQueryClient

Ce qui suit est une version mise à jour (version simplifiée) App.jsx avec les sous-vues que nous utiliserons:

# 在另一个终端中,启动 React 开发服务器
npm run dev
Copier après la connexion
Copier après la connexion

(Un tel contenu, veuillez continuer à traduire les pièces restantes en fonction de vos exigences, y compris des composants d'interface utilisateur, des requêtes de base, des requêtes de pagination, des requêtes illimitées, des mutations et d'autres chapitres.)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Blue Prince: Comment se rendre au sous-sol
1 Il y a quelques mois By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1664
14
Tutoriel PHP
1269
29
Tutoriel C#
1248
24
Moteurs JavaScript: comparaison des implémentations Moteurs JavaScript: comparaison des implémentations Apr 13, 2025 am 12:05 AM

Différents moteurs JavaScript ont des effets différents lors de l'analyse et de l'exécution du code JavaScript, car les principes d'implémentation et les stratégies d'optimisation de chaque moteur diffèrent. 1. Analyse lexicale: convertir le code source en unité lexicale. 2. Analyse de la grammaire: générer un arbre de syntaxe abstrait. 3. Optimisation et compilation: générer du code machine via le compilateur JIT. 4. Exécuter: Exécutez le code machine. Le moteur V8 optimise grâce à une compilation instantanée et à une classe cachée, SpiderMonkey utilise un système d'inférence de type, résultant en différentes performances de performances sur le même code.

Python vs JavaScript: la courbe d'apprentissage et la facilité d'utilisation Python vs JavaScript: la courbe d'apprentissage et la facilité d'utilisation Apr 16, 2025 am 12:12 AM

Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.

JavaScript: Explorer la polyvalence d'un langage Web JavaScript: Explorer la polyvalence d'un langage Web Apr 11, 2025 am 12:01 AM

JavaScript est le langage central du développement Web moderne et est largement utilisé pour sa diversité et sa flexibilité. 1) Développement frontal: construire des pages Web dynamiques et des applications à une seule page via les opérations DOM et les cadres modernes (tels que React, Vue.js, Angular). 2) Développement côté serveur: Node.js utilise un modèle d'E / S non bloquant pour gérer une concurrence élevée et des applications en temps réel. 3) Développement des applications mobiles et de bureau: le développement de la plate-forme multiplateuse est réalisé par réact noral et électron pour améliorer l'efficacité du développement.

Comment construire une application SaaS multi-locataire avec Next.js (Frontend Integration) Comment construire une application SaaS multi-locataire avec Next.js (Frontend Integration) Apr 11, 2025 am 08:22 AM

Cet article démontre l'intégration frontale avec un backend sécurisé par permis, construisant une application fonctionnelle EdTech SaaS en utilisant Next.js. Le frontend récupère les autorisations des utilisateurs pour contrôler la visibilité de l'interface utilisateur et garantit que les demandes d'API adhèrent à la base de rôles

Construire une application SaaS multi-locataire avec next.js (intégration backend) Construire une application SaaS multi-locataire avec next.js (intégration backend) Apr 11, 2025 am 08:23 AM

J'ai construit une application SAAS multi-locataire fonctionnelle (une application EdTech) avec votre outil technologique quotidien et vous pouvez faire de même. Premièrement, qu'est-ce qu'une application SaaS multi-locataire? Les applications saas multi-locataires vous permettent de servir plusieurs clients à partir d'un chant

De C / C à JavaScript: comment tout cela fonctionne De C / C à JavaScript: comment tout cela fonctionne Apr 14, 2025 am 12:05 AM

Le passage de C / C à JavaScript nécessite de s'adapter à la frappe dynamique, à la collecte des ordures et à la programmation asynchrone. 1) C / C est un langage dactylographié statiquement qui nécessite une gestion manuelle de la mémoire, tandis que JavaScript est dynamiquement typé et que la collecte des déchets est automatiquement traitée. 2) C / C doit être compilé en code machine, tandis que JavaScript est une langue interprétée. 3) JavaScript introduit des concepts tels que les fermetures, les chaînes de prototypes et la promesse, ce qui améliore la flexibilité et les capacités de programmation asynchrones.

Javascript et le web: fonctionnalité de base et cas d'utilisation Javascript et le web: fonctionnalité de base et cas d'utilisation Apr 18, 2025 am 12:19 AM

Les principales utilisations de JavaScript dans le développement Web incluent l'interaction client, la vérification du formulaire et la communication asynchrone. 1) Mise à jour du contenu dynamique et interaction utilisateur via les opérations DOM; 2) La vérification du client est effectuée avant que l'utilisateur ne soumette les données pour améliorer l'expérience utilisateur; 3) La communication de rafraîchissement avec le serveur est réalisée via la technologie AJAX.

JavaScript en action: Exemples et projets du monde réel JavaScript en action: Exemples et projets du monde réel Apr 19, 2025 am 12:13 AM

L'application de JavaScript dans le monde réel comprend un développement frontal et back-end. 1) Afficher les applications frontales en créant une application de liste TODO, impliquant les opérations DOM et le traitement des événements. 2) Construisez RestulAPI via Node.js et Express pour démontrer les applications back-end.

See all articles