-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
How to mutate paginated cache for optimistic updates? #57
Comments
Could you give us an example of your code and what you're doing as of right now? That might help us out more. |
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. |
@tannerlinsley I am sorry for the late response. I was stuck in a hectic schedule. I just got free this weekend. Our paginated list items need an optimistic update if any click happens in the listing. 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 In apollo client, there is some control as it returns the |
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? |
Hi Tannerlinsley, I am currently working on a social media web app, that's paginated... Thanks. |
I have a list of data and I am transforming it into a normalized form (Object instead of an array) in my fetcher passed in useQuery and while applying optimistic updates, I just replace the mutated data with the new one using setQueryData.
But when the list is paginated, I cannot find a proper/recommended way to make it work. Now, since the cache stored is in an array, I'll have to go through each page and find the record and replace it.
Is there a way to make it simpler?
Thanks
The text was updated successfully, but these errors were encountered: