apollographql / apollo-client

:rocket:  A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server.
https://apollographql.com/client
MIT License
19.34k stars 2.66k forks source link

optimize `useQuery` result handling #11954

Closed phryneas closed 2 months ago

phryneas commented 2 months ago

This gets rid of useHandleSkip, which mutated results during render, among a few other optimizations. Please review Commit by Commit.

changeset-bot[bot] commented 2 months ago

🦋 Changeset detected

Latest commit: 2456a9a94e3cf9d3d5eeaf4da4e19ffd00ae8c06

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package | Name | Type | | -------------- | ----- | | @apollo/client | Patch |

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

github-actions[bot] commented 2 months ago

size-limit report 📦

Path Size
dist/apollo-client.min.cjs 39.22 KB (-0.11% 🔽)
import { ApolloClient, InMemoryCache, HttpLink } from "dist/main.cjs" 47.97 KB (-0.07% 🔽)
import { ApolloClient, InMemoryCache, HttpLink } from "dist/main.cjs" (production) 45.51 KB (-0.04% 🔽)
import { ApolloClient, InMemoryCache, HttpLink } from "dist/index.js" 34.38 KB (0%)
import { ApolloClient, InMemoryCache, HttpLink } from "dist/index.js" (production) 32.23 KB (0%)
import { ApolloProvider } from "dist/react/index.js" 1.26 KB (0%)
import { ApolloProvider } from "dist/react/index.js" (production) 1.24 KB (0%)
import { useQuery } from "dist/react/index.js" 5.22 KB (-0.38% 🔽)
import { useQuery } from "dist/react/index.js" (production) 4.3 KB (-0.34% 🔽)
import { useLazyQuery } from "dist/react/index.js" 5.7 KB (-0.24% 🔽)
import { useLazyQuery } from "dist/react/index.js" (production) 4.77 KB (-0.33% 🔽)
import { useMutation } from "dist/react/index.js" 3.62 KB (0%)
import { useMutation } from "dist/react/index.js" (production) 2.85 KB (0%)
import { useSubscription } from "dist/react/index.js" 4.41 KB (-0.09% 🔽)
import { useSubscription } from "dist/react/index.js" (production) 3.46 KB (-0.12% 🔽)
import { useSuspenseQuery } from "dist/react/index.js" 5.5 KB (0%)
import { useSuspenseQuery } from "dist/react/index.js" (production) 4.16 KB (0%)
import { useBackgroundQuery } from "dist/react/index.js" 5 KB (0%)
import { useBackgroundQuery } from "dist/react/index.js" (production) 3.65 KB (0%)
import { useLoadableQuery } from "dist/react/index.js" 5.07 KB (0%)
import { useLoadableQuery } from "dist/react/index.js" (production) 3.72 KB (0%)
import { useReadQuery } from "dist/react/index.js" 3.39 KB (0%)
import { useReadQuery } from "dist/react/index.js" (production) 3.34 KB (0%)
import { useFragment } from "dist/react/index.js" 2.32 KB (0%)
import { useFragment } from "dist/react/index.js" (production) 2.27 KB (0%)
netlify[bot] commented 2 months ago

Deploy Preview for apollo-client-docs ready!

Name Link
Latest commit 2456a9a94e3cf9d3d5eeaf4da4e19ffd00ae8c06
Latest deploy log https://app.netlify.com/sites/apollo-client-docs/deploys/6694da9f702c510008e1ba2a
Deploy Preview https://deploy-preview-11954--apollo-client-docs.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.