Comments (5)
Hmm, I would love to see how you think a hypothetical API for this in React Query would look. That may give me a better idea of how to implement it with minimal overhead. What do you say?
from react-query.
Could you give us an example of your code and what you're doing as of right now? That might help us out more.
from react-query.
As far as it stands today it is possible to mutate the results of a paginated query, and yes, you must manage all of the pages of that query atomically. I'm not sure of a better or more flexible way of doing this from the library's perspective.
Closing for now. Reopen with more info or suggestions if needed.
from react-query.
@tannerlinsley I am sorry for the late response. I was stuck in a hectic schedule. I just got free this weekend.
I was refactoring some of our code to use react-query and had a great experience :D.
But I found it hard to do for paginated responses.
Our paginated list items need an optimistic update if any click happens in the listing.
(It's a react native application so we have multiple tabs mounted at the same time and each tab can have the same item and yes in different APIs 😅)
Using react-query, I'll have to check each item in the pages loop and do the update. (Obviously not an issue if the app is small, but our list can easily have like 100 or more items and updates can happen many times. It's like a feed app. e.g. FB/Instagram where you can like, react, etc.)
We can normalize the structure of a single page in query function
but the paginated data will be stored in an array.
In apollo client, there is some control as it returns the fetchMoreResult
and we can do some optimization of storing it using [key]:[value]
instead of an array in cache.
https://www.apollographql.com/docs/react/data/pagination/#cursor-based
from react-query.
Hi Tannerlinsley, I am currently working on a social media web app, that's paginated...
However, optimistically updating it seems impossible or too difficult, since it comes in the form of array in array...
Thanks.
from react-query.
Related Issues (20)
- QueryKey is now mandatory when using QueryOptions
- Devtool button doesn't work with Headlessui Dialog component and backdrop HOT 6
- Following the "Advanced Server Rendering" guide throws: Error: Functions cannot be passed directly to Client Components unless you explicitly expose it by marking it with "use server". HOT 2
- Type checking `select` works differently on `useQueries` compared to `useQuery` HOT 6
- Uncaught runtime error when running @tanstack/react-query HOT 6
- Production Build Error with @tanstack/react-query in a Next.js/MUI Project HOT 6
- [vue-query] `getQueryData/setQueryData` fail to infer query data type from `queryOptions.queryFn`
- Angular Query's data signal is not updating if data is present in the cache HOT 3
- Tanstack/react-query doesn't work in my vercel app HOT 1
- [react-query] useSuspenseQuery missing docs on `throwOnError` HOT 3
- Inability to Set Object as Filter Value HOT 1
- useQuery doesn't change data after query invalidation HOT 6
- Nextjs Streaming+Server Action Error: Server Functions cannot be called during initial render. HOT 3
- useQueries and large datasets is crashing browsers HOT 3
- Spreading an any type into UseQuery makes the data unknown HOT 2
- Doc site is down HOT 1
- No QueryClient set, use QueryClientProvider to set one HOT 2
- vue-query suspense always throws render errors
- `result` parameter in `combine` function in `useQueries` initially empty array HOT 1
- useInfiniteQuery not being refetch on param change HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-query.