Existe-t-il un moyen de convertir les données de requête et le mappage en fonction des types dans React-Query v4 ?
P粉238355860
P粉238355860 2024-01-08 23:03:24
0
1
562

J'essaie de transformer les données de requête à partir d'une réponse API. Plus précisément, je souhaite ajouter deux propriétés supplémentaires. C'est pourquoi je l'ai configuré en useQuery 挂钩中使用 select comme ceci : Mais dans ce cas, je ne reçois pas de suggestion pour les deux propriétés supplémentaires. C'est pourquoi j'ai ajouté un autre modèle et l'ai utilisé avec le crochet useQuery comme ceci : Mais il y a une erreur.

Je suis bloqué sur ce problème.

Modifier sur codesandbox

P粉238355860
P粉238355860

répondre à tous(1)
P粉262113569

Essayez ceci, le problème est useQuery的第一个泛型类型参数不是返回的数据类型。它是 queryFn 返回类型。您可以将 ModifiedProduct[] d'insérer le troisième paramètre de type générique ou là où le code le déduit lui-même.

const { data, isLoading } = useQuery({
    queryKey: ["fetch-products"],
    queryFn: fetchProducts,
    select: (data) => {
      const items = data.map(
        (prod): ModifiedProduct => ({
          ...prod,
          dateOfAdd: new Date(),
          dateOfUpdate: new Date()
        })
      );
      return items;
    }
  });

// this should also work
  const { data, isLoading } = useQuery<Product[], unknown, ModifiedProduct[]>({
    queryKey: ["fetch-products"],
    queryFn: fetchProducts,
    select: (data) => {
      const items = data.map(
        (prod): ModifiedProduct => ({
          ...prod,
          dateOfAdd: new Date(),
          dateOfUpdate: new Date()
        })
      );
      return items;
    }
  });
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!