Using refetch with cached variables doesn't render the previous data? Apply fetchPolicy 'network-only' throws warning
- Dominant language
- Rust
- Stars
- 19k
- Forks
- 1.9k
- PR merge metrics
- No merged PRs in 30d
Description
This is my code:
```
const { viewer } = useLazyLoadQuery(
NearbyViewerGraphQL,
{
nearbyPagination_count: 20,
nearbyPagination_boundingPoints: userLocation,
nearbyPagination_categories: [],
nearbyPagination_name_Icontains: '',
nearbyPagination_favorite: false,
nearbyPagination_onlyActiveCampaigns: true,
nearbyPagination_isClaimedCampaigns: false,
},
{ fetchPolicy: 'network-only' }
);
const { data, loadNext, hasNext, isLoadingNext, refetch } = usePaginationFragment<
NearbyPaginationFragmentGraphQLQuery,
NearbyPaginationFragmentGraphQL_viewer$key
>(NearbyPaginationFragmentGraphQL, viewer);
let delayTimer;
useEffect(() => {
if (delayTimer) clearTimeout(delayTimer);
const refetchCategories = nearbySearchFilters
.filter((i) => !categoryStatusFilters.includes(i))
.map((i) => categoryDataArray.find((ci) => ci.name === i).pk);
const refetchFavorite = nearbySearchFilters.includes('Favorites');
const refetchOnlyActiveCampaigns = nearbySearchFilters.includes('Active');
const refetchIsClaimedCampaigns = nearbySearchFilters.includes('Claimed');
delayTimer = setTimeout(() => {
console.log('refetch');
refetch({
nearbyPagination_count: 20,
nearbyPagination_boundingPoints: nearbyRegion,
nearbyPagination_categories: refetchCategories,
nearbyPagination_name_Icontains: nearbySearchText,
nearbyPagination_favorite: refetchFavorite,
nearbyPagination_onlyActiveCampaigns: refetchOnlyActiveCampaigns,
nearbyPagination_isClaimedCampaigns: refetchIsClaimedCampaigns,
});
}, 1000);
return () => {
clearTimeout(delayTimer);
};
}, [nearbySearchText, nearbySearchFilters, nearbyRegion]);
```
this is my variables when initialized:
`{
"nearbyPagination_boundingPoints": {
"longitude": 124.36329815536737,
"latitude": 8.266441061852722,
"latitudeDelta": 0.7079559147306425,
"longitudeDelta": 0.37976861000061035
},
"nearbyPagination_categories": [],
"nearbyPagination_count": 20,
"nearbyPagination_cursor": "",
"nearbyPagination_favorite": false,
"nearbyPagination_isClaimedCampaigns": false,
"nearbyPagination_name_Icontains": "",
"nearbyPagination_onlyActiveCampaigns": true
}`
when i changed nearbyPagination_isClaimedCampaigns to true, it fetches data correctly but when i revert to nearbyPagination_isClaimedCampaigns to false/initialized variables the data is not updating? where the result is the same as after nearbyPagination_isClaimedCampaigns is true. when i do this:
```
refetch(
{
nearbyPagination_count: 20,
nearbyPagination_boundingPoints: nearbyRegion,
nearbyPagination_categories: refetchCategories,
nearbyPagination_name_Icontains: nearbySearchText,
nearbyPagination_favorite: refetchFavorite,
nearbyPagination_onlyActiveCampaigns: refetchOnlyActiveCampaigns,
nearbyPagination_isClaimedCampaigns: refetchIsClaimedCampaigns,
},
{
fetchPolicy: 'network-only',
}
);
```
it's working properly but there's warning when i use initialized variables again:
` Relay: Unexpected after cursor ``, edges must be fetched from the end of the list (`YXJyYXljb25uZWN0aW9uOjI=`)`
is there a way to do it without warning?
Contributor guide
Assessment
This issue has not been assessed yet.