如何根据不同的状态使用useQuery重新发送查询?

Nic*_*kiy 6 reactjs react-query

所以我的例子:

const Component = () => {
  const [param, setParam] = useState('defaul')
  const { isLoading, isError, data } = useQuery('data', () => fetch(`https://test.com?param=${param}`)

  ....
}
Run Code Online (Sandbox Code Playgroud)

例如,我将在某个地方更改参数状态,并且我想使用此更新的参数获取日期。我想在每次参数状态发生变化时重新发送 API 调用。我怎样才能实现这个目标?

PS 我使用React Query lib

小智 16

将您的参数包含在queryKey声明中useQuery应该会在参数更改时自动重新获取数据。请参阅下面的修改示例:

const Component = () => {
  const [param, setParam] = useState('defaul')
  const { isLoading, isError, data } = useQuery(['data', param], () => fetch(`https://test.com?param=${param}`)

  ....
}
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅此处