Maison  >  Questions et réponses  >  le corps du texte

L'erreur .isSuccess de React Query se produit lorsque j'utilise axios pour faire une requête get

<p><br /></p> <pre class="brush:php;toolbar:false;">const searchInvoiceList = async ( plantLoc : chaîne, optionfacture : chaîne ) => { laissez les données : InvoiceData[] = [] ; attendre axios .get(`${linkURL}inv/getControlList/${plantLoc}/${invoiceOption}`) .then((réponse) => { données = réponse.data.sqlData ; }) .catch((erreur) => console.erreur(erreur)); renvoyer des données ; } ; const fetchInvoices = useQuery({ Clé de requête : [ "données de facturation", plantLocationOptionChecked.value, factureOptionChecked.value, ], requêteFn : () => rechercheListe des factures ( plantLocationOptionChecked.value, factureOptionChecked.value ), activé : faux, réessayer : 0, }); si (fetchInvoices.isSuccess) { si (fetchInvoices.data.length === 0) { toast.error("搜索结果为空"); } setFetchedInvoiceData(fetchInvoices.data); } si (fetchInvoices.isError) { console.log(fetchInvoices.error); }</pré> <p> React est un jeu d'enfant. <code>setFetchedInvoiceData(fetchInvoices.data);</code> ");< ;/code> gt ;)”。我做错了什么,如何修复这个问题?</p>
P粉153503989P粉153503989453 Il y a quelques jours445

répondre à tous(1)je répondrai

  • P粉517090748

    P粉5170907482023-08-16 18:54:18

    Il est difficile de vous donner la meilleure solution sans examiner l'intégralité du code de votre composant, mais actuellement, je vois que vous obtenez fetchInvoices.isSuccess上运行条件,解决的最佳方法是将其添加到useEffect à chaque nouveau rendu comme celui-ci :

    useEffect(() => {
          if (fetchInvoices.isSuccess) {
            if (fetchInvoices.data.length === 0) {
              toast.error("搜索结果为空");
            }
            setFetchedInvoiceData(fetchInvoices.data);
          }
         if (fetchInvoices.isError) {
           console.log(fetchInvoices.error);
         }
       }, [fetchInvoices.isSuccess, fetchInvoices.isError])

    répondre
    0
  • Annulerrépondre