apollo-client icon indicating copy to clipboard operation
apollo-client copied to clipboard

useMutation: fix rules of React violations

Open phryneas opened this issue 1 year ago • 4 comments

Another one for #11511...

phryneas avatar May 17 '24 12:05 phryneas

🦋 Changeset detected

Latest commit: a733eb1f03d434af11869ad5e648c7a5b10730de

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

changeset-bot[bot] avatar May 17 '24 12:05 changeset-bot[bot]

size-limit report 📦

Path Size
dist/apollo-client.min.cjs 38.69 KB (+0.04% 🔺)
import { ApolloClient, InMemoryCache, HttpLink } from "dist/main.cjs" 47.47 KB (+0.05% 🔺)
import { ApolloClient, InMemoryCache, HttpLink } from "dist/main.cjs" (production) 45.04 KB (+0.03% 🔺)
import { ApolloClient, InMemoryCache, HttpLink } from "dist/index.js" 34.2 KB (0%)
import { ApolloClient, InMemoryCache, HttpLink } from "dist/index.js" (production) 32.05 KB (0%)
import { ApolloProvider } from "dist/react/index.js" 1.23 KB (0%)
import { ApolloProvider } from "dist/react/index.js" (production) 1.22 KB (0%)
import { useQuery } from "dist/react/index.js" 5.29 KB (0%)
import { useQuery } from "dist/react/index.js" (production) 4.37 KB (0%)
import { useLazyQuery } from "dist/react/index.js" 5.57 KB (0%)
import { useLazyQuery } from "dist/react/index.js" (production) 4.64 KB (0%)
import { useMutation } from "dist/react/index.js" 3.54 KB (+0.56% 🔺)
import { useMutation } from "dist/react/index.js" (production) 2.77 KB (+0.79% 🔺)
import { useSubscription } from "dist/react/index.js" 3.21 KB (0%)
import { useSubscription } from "dist/react/index.js" (production) 2.4 KB (0%)
import { useSuspenseQuery } from "dist/react/index.js" 5.44 KB (0%)
import { useSuspenseQuery } from "dist/react/index.js" (production) 4.1 KB (0%)
import { useBackgroundQuery } from "dist/react/index.js" 4.96 KB (0%)
import { useBackgroundQuery } from "dist/react/index.js" (production) 3.61 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.33 KB (0%)
import { useReadQuery } from "dist/react/index.js" (production) 3.27 KB (0%)
import { useFragment } from "dist/react/index.js" 2.29 KB (0%)
import { useFragment } from "dist/react/index.js" (production) 2.23 KB (0%)

github-actions[bot] avatar May 17 '24 12:05 github-actions[bot]

Deploy Preview for apollo-client-docs ready!

Name Link
Latest commit 789add77deaa3ea7b7404dc59417b46d1c348409
Latest deploy log https://app.netlify.com/sites/apollo-client-docs/deploys/6647535dbe70b200081c26f5
Deploy Preview https://deploy-preview-11852--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.

netlify[bot] avatar May 17 '24 12:05 netlify[bot]

Deploy Preview for apollo-client-docs ready!

Name Link
Latest commit a733eb1f03d434af11869ad5e648c7a5b10730de
Latest deploy log https://app.netlify.com/sites/apollo-client-docs/deploys/664c64b8a014600008ea0675
Deploy Preview https://deploy-preview-11852--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.

netlify[bot] avatar May 17 '24 13:05 netlify[bot]

@phryneas This PR has introduced a React.useLayoutEffect call, which causes a slew of warnings when it gets rendered server-side.

You might need to consider guarding against this with some of the solutions suggested at https://reactjs.org/link/uselayouteffect-ssr

mikehdt avatar Jun 17 '24 07:06 mikehdt

@phryneas This PR has introduced a React.useLayoutEffect call, which causes a slew of warnings when it gets rendered server-side.

You might need to consider guarding against this with some of the solutions suggested at https://reactjs.org/link/uselayouteffect-ssr

We're seeing a lot of warnings after the introduction of useLayoutEffect, so we downgraded to 3.10.4 again.

Multiply avatar Jun 19 '24 07:06 Multiply

@phryneas This PR has introduced a React.useLayoutEffect call, which causes a slew of warnings when it gets rendered server-side.

You might need to consider guarding against this with some of the solutions suggested at https://reactjs.org/link/uselayouteffect-ssr

also downgraded to 3.10.4. Got useLayoutEffect warnings for every useMutation

quadrifolia avatar Jun 19 '24 13:06 quadrifolia

@mikehdt @Multiply @quadrifolia thank y'all for the report! I'll see that I get a patch for this out at some point today or tomorrow!

phryneas avatar Jun 20 '24 08:06 phryneas

@mikehdt @Multiply @quadrifolia could you please try out this build and report back if that solves the problem?

npm i @apollo/[email protected]

phryneas avatar Jun 20 '24 12:06 phryneas

@mikehdt @Multiply @quadrifolia could you please try out this build and report back if that solves the problem?

npm i @apollo/[email protected]

The error seems to be gone with that version of @apollo/client indeed.

Multiply avatar Jun 20 '24 13:06 Multiply

@mikehdt @Multiply @quadrifolia I just released 3.10.6 which should address your problem.

phryneas avatar Jun 21 '24 11:06 phryneas