在React.js中使用Apollo客户端进行多次调用同一查询的方法如下:
npm install @apollo/client graphql
import { ApolloClient, InMemoryCache, gql, useQuery } from '@apollo/client';
const client = new ApolloClient({
uri: 'https://your-graphql-server.com/graphql', // 替换为你的GraphQL服务器URL
cache: new InMemoryCache(),
});
gql
函数将查询字符串转换为GraphQL AST:const GET_DATA = gql`
query GetData {
// 在这里编写你的查询
}
`;
useQuery
钩子来执行查询,并获取查询结果:function MyComponent() {
const { loading, error, data } = useQuery(GET_DATA, {
client: client,
});
if (loading) return <p>Loading...</p>;
if (error) return <p>Error: {error.message}</p>;
// 处理查询结果
return (
<div>
{/* 在这里使用查询结果 */}
</div>
);
}
refetch
函数来重新执行查询:function MyComponent() {
const { loading, error, data, refetch } = useQuery(GET_DATA, {
client: client,
});
if (loading) return <p>Loading...</p>;
if (error) return <p>Error: {error.message}</p>;
// 处理查询结果
return (
<div>
{/* 在这里使用查询结果 */}
<button onClick={() => refetch()}>重新加载数据</button>
</div>
);
}
通过调用refetch
函数,你可以在需要的时候重新执行查询并更新组件中的数据。
这是使用Apollo客户端在React.js中多次调用同一查询的基本方法。你可以根据具体的业务需求进行调整和扩展。如果你想了解更多关于Apollo Client的信息,可以参考腾讯云的Apollo产品介绍页面:Apollo产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云