当您重新访问数据由refetch
供电的网页时,如何react-apollo
新数据?
说,我是第一次访问列表页面。 apollo
将获取查询并默认缓存它。因此,当您在会话期间再次访问同一页面时,它将从其缓存存储中填充数据。如何在每次安装组件时强制apollo
重新获取数据?
答案 0 :(得分:7)
添加到Pranesh的答案:您要找的fetchPolicy
是network-only
。
答案 1 :(得分:6)
您可以使用apollo
的{{3}}。基于此,它将决定执行查询或不再 。
示例:
const graphQLOptions = {
name: 'g_schemas',
options: (props) => {
return {
variables: {
name: props.name,
},
fetchPolicy: 'cache-and-network',
}
},
}
希望它有所帮助。
答案 2 :(得分:2)
例如,如果您正在使用react-apollo
的查询组件,则:
import { Query } from "react-apollo";
您可以通过其道具应用fetchPolicy。参见下面的示例:
import gql from 'graphql-tag';
import React from 'react';
import { Query } from 'react-apollo';
const CounterView = ({ counter }) => (
<div>{counter}</div>
);
const GET_COUNTER = gql`
{
counter
}
`;
const Counter = () => (
<Query query={GET_COUNTER} fetchPolicy={'network-only'}>
{({ data }) => {
return <CounterView {...data} />;
}}
</Query>
);
export default Counter;
参考文献: