V1 Migration
Fl-Query V1 comes with lot of breaking changes in the API. It is not possible to upgrade to V1 without making changes to your code if you were using anything below V1. This page will help you to migrate to V1.
Removal of APIs/methods/properties
keepPreviousDatahas been removed from bothQueryandInfiniteQueryQueryClient's (formerlyQueryBowl)prefetchQuerymethod was removeduse
QueryClient.fetchQueryinsteadsetQueryDatamethod was removeduse
QueryClient.getQuery().setDatainsteadsetInfinityQueryDatamethod was removeduse
QueryClient.getInfinityQuery().setPageDatainsteadresetQueriesmethod was removeduse
QueryClient.getQueriesand map over them to reset them insteadremoveQueriesmethod was removeduse
QueryClient.cache.removeQueryinsteadonQueriesUpdatemethod was removeduse
QueryClient.getQuery().addListenerinsteadonInfinityQueriesUpdatemethod was removeduse
QueryClient.getInfinityQuery().addListenerinsteadonMutationUpdatemethod was removeduse
QueryClient.getMutation().addListenerinsteadinvalidateQueriesmethod was removed
InfiniteQuery.initialPagewas removedThe unnecessary
getPreviousPageParamis now removed fromInfiniteQuery
Renaming/Replacement of APIs/methods/properties
QueryBowlwas renamed toQueryClientrefetchQuery=>refreshQueryrefetchQueries=>refreshQueriesrefetchInfiniteQuery=>refreshInfiniteQueryrefetchInfiniteQueries=>refreshInfiniteQueries
QueryBowlProviderwas renamed toQueryClientProviderQuery.refetchwas renamed toQuery.refreshInfiniteQuery.refetchPageshas been replaced withInfiniteQuery.refreshandInfiniteQuery.refreshAllexternalDatawas renamed toargsforQueryJob,InfiniteQueryJobandMutationJobNow instead of passing callback,
Future.waitis used withrefreshto refetch a segment of pages.refreshAllis a shorthand to refetch all pages at once.getNextPageParamhas been renamed tonextPageAlso,
fetchNextPagehas been renamed tofetchNextQueryandInfiniteQuery'ssetQueryDatahas been renamed tosetDataand it now accepts data directly instead of a call back function
Refactored APIs/methods/properties
All the retry & cache invalidation related properties were moved to their own classes.
QueryBuilder,InfiniteQueryBuilderandMutationBuilderdoesn't accept jobs by default. To use the old Jobs API,.withJobconstructor must be used.- Similarly,
useQuery,useInfiniteQuery,useMutationdoesn't accept jobs now. UseuseQueryJob,useInfiniteQueryJobanduseMutationJobinstead. - Retry related properties were moved to
RetryConfigclassretrieswas renamed tomaxRetries
- Cache invalidation related properties were moved to
RefreshConfigclassstaleTimewas renamed tostaleDurationrefetchIntervalwas renamed torefreshIntervalrefetchOnMountwas renamed torefreshOnMount