重新获取不同的数据反应查询

时间:2021-06-01 21:17:06

标签: javascript reactjs next.js react-query

我尝试重新获取每个按钮的点击并获取新数据

const {refetch,data,isLoading} = useQuery(
    "getkurs",() =>fetch( `https://free.currconv.com/api/v7/convert? 
      q=${selected.country.currencyId}_IDR&compact=ultra&apiKey=${process.env.COUNTRY_API}`).then((res) => 
    res.json()),{ enabled: false, refetchOnWindowFocus: false }
  );

<button onclick={()=>refetch()}>click</button>

它只工作一次,但在第二次等它不起作用,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您可以将参数传递给查询键,因为当查询键中的值发生变化时,React Query 会自动触发重新获取。

const [selectedCurrencyId, setSelectedCurrencyId] = React.useState()

const {data,isLoading} = useQuery(['getkurs', selectedCurrencyId], () => fetch(....))

所以如果你想重新获取,你可以用货币值调用setSelectedCurrencyId