可以通过在useQuery hook的选项中设置fetchPolicy来解决此问题。fetchPolicy选项控制Apollo是否要从缓存中读取数据,或者在网络请求中获取最新数据。例如,如果您想始终从网络中获取最新数据,则可以设置fetchPolicy为“network-only”:
import { useQuery } from "@apollo/client";
import { GET_MY_DATA } from "./queries";
function MyComponent() {
const { loading, error, data } = useQuery(GET_MY_DATA, {
fetchPolicy: "network-only"
});
if (loading) return Loading...
;
if (error) return Error :(
;
return (
{data.myData}
);
}
在上面的示例中,我们将fetchPolicy设置为“network-only”,这意味着Apollo将始终从网络中获取最新数据,即使它存在于缓存中。