Maison  >  Article  >  interface Web  >  Requête de base de données React Query : Foire aux questions

Requête de base de données React Query : Foire aux questions

WBOY
WBOYoriginal
2023-09-26 13:35:011026parcourir

React Query 数据库查询:常见问题解答

Requête de base de données React Query : FAQ, exemples de code spécifiques requis

Introduction :
React Query est un outil puissant pour gérer les requêtes et la gestion des données. Il fournit des fonctionnalités pour simplifier la récupération, la mise en cache et la mise à jour asynchrones des données. Lorsque nous utilisons React Query pour effectuer des requêtes de base de données, certains problèmes courants surviennent. Cet article répondra à ces questions et fournira des exemples de code spécifiques.

1. Comment effectuer des requêtes de base de données ?

React Query fournit la fonction de hook useQuery pour lancer des requêtes de base de données de base. Nous pouvons exécuter cette fonction en définissant une fonction de requête puis en appelant useQuery dans le composant. Voici un exemple :

import { useQuery } from 'react-query';
import axios from 'axios';

const fetchUsers = async () => {
  const response = await axios.get('/api/users');
  return response.data;
}

function UsersList() {
  const { data, isLoading, isError } = useQuery('users', fetchUsers);

  if (isLoading) {
    return <div>Loading...</div>;
  }

  if (isError) {
    return <div>Error!</div>;
  }

  return (
    <ul>
      {data.map(user =>
        <li key={user.id}>{user.name}</li>
      )}
    </ul>
  );
}

Dans le code ci-dessus, nous définissons une fonction fetchUsers, qui initie une requête GET via axios pour obtenir les données utilisateur. Nous utilisons ensuite useQuery dans le composant UsersList pour exécuter la fonction et utilisons les données renvoyées pour afficher la liste des utilisateurs dans la page.

2. Comment gérer les requêtes de base de données avec des paramètres ?

Parfois, nous devons transmettre certains paramètres dans la requête pour filtrer en fonction de différentes conditions. React Query fournit un moyen pratique de gérer les requêtes de base de données avec des paramètres. Voici un exemple :

import { useQuery } from 'react-query';
import axios from 'axios';

const fetchUsersByRole = async (role) => {
  const response = await axios.get(`/api/users?role=${role}`);
  return response.data;
}

function UsersList({ role }) {
  const { data, isLoading, isError } = useQuery(['users', role], () => fetchUsersByRole(role));

  // ...
}

Dans le code ci-dessus, nous avons modifié la fonction fetchUsers afin qu'elle accepte un paramètre de rôle et le transmette à l'API sous forme de chaîne de requête. Dans le composant UsersList, nous utilisons ['users', role] comme premier paramètre de useQuery pour identifier l'identifiant unique de la requête. De cette façon, lorsque le rôle change, React Query relancera automatiquement la requête.

3. Comment effectuer une requête de base de données parallèle ?

Dans certains cas, nous devons lancer plusieurs requêtes de base de données en même temps, puis traiter les résultats de manière uniforme une fois toutes les requêtes terminées. React Query fournit la fonction hook useQueries pour gérer les requêtes de bases de données parallèles. Voici un exemple :

import { useQueries } from 'react-query';
import axios from 'axios';

const fetchUser = async (id) => {
  const response = await axios.get(`/api/users/${id}`);
  return response.data;
}

function UsersList({ ids }) {
  const queries = useQueries(
    ids.map(id => ({
      queryKey: ['user', id],
      queryFn: () => fetchUser(id),
    }))
  );

  // ...
}

Dans le code ci-dessus, nous définissons une fonction fetchUser pour interroger les informations utilisateur en fonction de l'identifiant de l'utilisateur. Dans le composant UsersList, nous utilisons useQueries pour lancer plusieurs requêtes de base de données en même temps et stocker les résultats de la requête dans des requêtes. Chaque requête est configurée via un objet, où queryKey est utilisé pour identifier de manière unique la requête et queryFn est utilisé pour spécifier la fonction de requête.

Conclusion :
React Query est un outil puissant pour simplifier les requêtes de base de données et la gestion des données. En utilisant useQuery, useQueries et une configuration simple, nous pouvons facilement créer des requêtes de base de données complexes. J'espère que cet article vous aidera lorsque vous utiliserez React Query pour les requêtes de base de données. Si vous avez des questions, n'hésitez pas à laisser un message.

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:
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