-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add notify flag for controlling re-renders #840
Conversation
This pull request is being automatically deployed with Vercel (learn more). 🔍 Inspect: https://vercel.com/tannerlinsley/react-query/14esfy3wz |
1c73403
to
3652595
Compare
3652595
to
0567def
Compare
0567def
to
5422006
Compare
5422006
to
1278dfc
Compare
1278dfc
to
0d02aa0
Compare
Conflicts ;) |
0d02aa0
to
0a244b5
Compare
0a244b5
to
ef5b356
Compare
ef5b356
to
f69902a
Compare
Resolved :) |
f69902a
to
09dbf3c
Compare
09dbf3c
to
88b3ef1
Compare
🎉 This PR is included in version 2.14.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
* docs: added more detailed explanation of what the cache timeout does in the detailed walkthough of useQuery (TanStack#928) Co-authored-by: Clayton Marshall <[email protected]> * Update index.js * Add queryCache de/rehydration (TanStack#728) * chore(hydration): set up separate hydration entry point * feat(hydration): add support for de/rehydrating queryCaches - Add dehydrate(queryCache, config) - Add hydrate(queryCache, dehydratedQueries, config) - Add useHydrate(dehydratedQueries, config) * test(hydration): fix broken type in test * rename scheduleTimeoutsManually to activateTimeoutsManually * docs(hydration): add API-docs for hydration and update comparison * docs(ssr): update ssr-docs with new approach based on de/rehydration * remove activateTimeoutsManually * add default shouldDehydrate * add hydration/ReactQueryCacheProvider * use unknown for initialData in dehydration * rename initialQueries and dehydratedQueries to dehydratedState * include queryKey instead of queryHash in dehydration * update initialQueries to dehydratedState in ssr guide docs * remove shouldHydrate-option * feat: determine staleness locally instead of globally (TanStack#933) * fix: add hydration.js to npm files * fix: add hydration.js to npm files * fix: make sure initial data is used when switching queries (TanStack#944) * feat: change ReactQueryCacheProvider from hydration to Hydrate (TanStack#943) * tests: fix setTimeout for ci tests * fix: always use config from last query execution (TanStack#942) * fix: make sure queries with only inactive observers are also invalidated (TanStack#949) * feat: add notifyOnStatusChange flag (TanStack#840) * docs: update comparison Closes TanStack#920 * docs: update supporters and comparison * docs: fix sponsors rendering * fix: ignore errors from background fetches (TanStack#953) * feat: add forceFetchOnMount flag (TanStack#954) * feat: add isPreviousData and isFetchedAfterMount flags (TanStack#961) * docs(react-native): add solution for fullscreen error (TanStack#958) * docs: update sponsors * fix: use hook config on refocus or reconnect (TanStack#964) * docs: typo in useQuery.test (TanStack#965) * fix: make sure setQueryData is not considered as initial data (TanStack#966) * refactor: cleanup to reduce file size and add tests (TanStack#969) * Update devtools.md (TanStack#973) Separate the sentences based on contex * fix: export hydration types (TanStack#974) * docs: update sponsors * fix(hydration): overwrite the existing data in the cache if hydrated data is newer (TanStack#976) * refactor: optimize render path and improve type safety (TanStack#984) * feat: add reset error boundary component (TanStack#980) * refactor: remove unused deepEqual function (TanStack#999) * fix: cancel current fetch when fetching more (TanStack#1000) * fix: notify query cache on stale (TanStack#1001) * test: add previous data test (TanStack#1003) * feat: add support for tree shaking (TanStack#994) * fix: useInfinityQuery fetchMore should not throw (TanStack#1004) * docs: update api docs (TanStack#1005) * refactor: remove query status bools (TanStack#1009) * fix: make sure initial data always uses initial stale (TanStack#1010) * feat: add always option to refetch options (TanStack#1011) * feat: export QueryCache and remove global query cache from docs and examples (TanStack#1017) * docs: remove shared config (TanStack#1021) * feat: add remove method and deprecate clear (TanStack#1022) * fix: should be able to invalidate queries (TanStack#1006) * fix: should throw error when using useErrorBoundary (TanStack#1016) * docs: Add graphql docs * docs: add graphql-request example * docs: update graphql docs * docs: add graphql example * feat: implement batch rendering (TanStack#989) * docs: Update comparison.md * docs: Update essentials banner * docs: reorder homepage * fix: accept any promise in useMutation callbacks (TanStack#1033) * docs: prefer default config of QueryCache (TanStack#1034) * fix: include config callbacks in batch render (TanStack#1036) * docs: update example deps * docs: fix comparison 3rd party website links (TanStack#1040) * Remove storing the return value of queryCache.removeQueries (TanStack#1038) Removed storing the return value of `queryCache.removeQueries` as it doesn't return anything. * feat: add QueryCache.fetchQuery method (TanStack#1041) * docs: add refetch documentation (TanStack#1043) * docs: fix graphql example link Closes TanStack#1044 * docs: remove trailing quotes from supporters links (TanStack#1045) The quotes were breaking the links. * docs: fix typo in queries page (TanStack#1046) * fix: prevent bundlers from removing side effects (TanStack#1048) * test: add invalidate query tests (TanStack#1052) * fix: query should try and throw again after error boundary reset (TanStack#1054) * docs: fix `user.id` access in case user is null (TanStack#1056) * docs: update comparison * docs: update sponsors * feat: add QueryCache.watchQuery (TanStack#1058) * docs: Update invalidations-from-mutations.md (TanStack#1057) Remove unnecessary parenthesis Co-authored-by: Clayton Marshall <[email protected]> Co-authored-by: Clayton Marshall <[email protected]> Co-authored-by: Tanner Linsley <[email protected]> Co-authored-by: Fredrik Höglund <[email protected]> Co-authored-by: Niek Bosch <[email protected]> Co-authored-by: Dragoș Străinu <[email protected]> Co-authored-by: Alex Marshall <[email protected]> Co-authored-by: Rudzainy Rahman <[email protected]> Co-authored-by: Corentin Leruth <[email protected]> Co-authored-by: Evgeniy Boreyko <[email protected]> Co-authored-by: Pierre Mdawar <[email protected]> Co-authored-by: Juliano Farias <[email protected]> Co-authored-by: Twinkle <[email protected]> Co-authored-by: Julius-Rapp <[email protected]> Co-authored-by: cheddar <[email protected]>
Some applications might not have indicators in the UI to indicate if data is stale or if some query is refetching/revalidating. In these cases, the UI also does not need to re-render if any of these states change. It would be sufficient to only re-render when the actual
data
orerror
properties change. This flag resembles thenotifyOnNetworkStatusChange
flag from Apollo.