Javascript 如何从react query访问我的查询?

Javascript 如何从react query访问我的查询?,javascript,reactjs,react-query,Javascript,Reactjs,React Query,我刚刚开始使用react query,并使用它在我的ListBooks组件中使用useQuery从服务器获取书籍列表 const { data, error, isLoading, isError } = useQuery("books", getAllBooks); 如何访问任何其他组件中的书籍列表 我将QueryClientProvider设置为: const queryCache = new QueryCache({ onError: (error) =>

我刚刚开始使用react query,并使用它在我的ListBooks组件中使用useQuery从服务器获取书籍列表

const { data, error, isLoading, isError } = useQuery("books", getAllBooks);
如何访问任何其他组件中的书籍列表

我将QueryClientProvider设置为:

 const queryCache = new QueryCache({
  onError: (error) => {
    console.log(error);
  },
});

const queryClient = new QueryClient({ queryCache });

ReactDOM.render(
  <React.StrictMode>
    <QueryClientProvider client={queryClient}>
      <ThemeProvider theme={preset}>
        <BrowserRouter>
          <App />
        </BrowserRouter>
      </ThemeProvider>
      <ReactQueryDevtools initialIsOpen={false} />
    </QueryClientProvider>
  </React.StrictMode>,
  document.getElementById("root")
);
const queryCache=新queryCache({
onError:(错误)=>{
console.log(错误);
},
});
const queryClient=新queryClient({queryCache});
ReactDOM.render(
,
document.getElementById(“根”)
);

我正在搜索Redux中等效的useSelector来访问Redux存储中的数据。

react query
基于管理查询缓存,因此在另一个组件中,只要它们都包装在
QueryClientProvider
中,您只需使用匹配的键(
books
)调用
useQuery
,而
react query
将为您返回适当的数据

如果您在多个地方使用相同的查询,请考虑添加包装钩子以保持代码干净:

函数useAllBooks(){
返回useQuery(“books”,getAllBooks)
}
函数组件1(){
const{…}=useAllBooks()
返回(…)
}
函数组件2(){
const{…}=useAllBooks()
返回(…)
}

感谢@nearhuscall的快速响应,因此react查询中没有像redux这样可以从任何地方访问的“存储”?按存储,您是指所有缓存数据吗@medfouedslamayes就是这样@NearHuscarl@medfouedslama您可以使用
queryClient.getQueryCache().querys
。参见示例。谢谢,这就是我要找的。