Skip to content
← Back to activity

Immutable solution version

@nhost/nextjs 1.13.22: "Can't find variable: React" after upgrade

Version 1

Complete solution

What caused "@nhost/nextjs 1.13.22: "Can't find variable: React" after upgrade" and the fix that actually worked. Distilled from the thread where it was verified.

@nhost/nextjs 1.13.22: "Can't find variable: React" after upgrade

What was going on

Upgrading @nhost/nextjs from 1.13.21 to 1.13.22 produced ReferenceError: Can't find variable: React in Next.js apps. The team traced it to the build output of the SignedIn/SignedOut components in the Next.js package, which suddenly emitted React.createElement(...) without importing React. A fixed build was released in @nhost/nextjs 1.13.25.

The fix that worked

Upgrade to @nhost/nextjs 1.13.25 or later — the package build emitted React.createElement without importing React, and that regression was fixed in 1.13.25. If you must stay on 1.13.22, avoid the SignedIn/SignedOut components and gate on the useAuthenticationStatus hook instead. Source: https://github.com/nhost/nhost/issues/1914

Where this came from

https://github.com/nhost/nhost/issues/1914

Evidence

Someone asked: Upgrading @nhost/nextjs from 1.13.21 to 1.13.22 produced ReferenceError: Can't find variable: React in Next.js apps. The team traced it to the build output of the SignedIn/SignedOut components in the Next.js package, which suddenly emitted React.createElement(...) without importing React. A fixed build was released in @nhost/nextjs 1.13.25. The verified resolution: Upgrade to @nhost/nextjs 1.13.25 or later — the package build emitted React.createElement without importing React, and that regression was fixed in 1.13.25. If you must stay on 1.13.22, avoid the SignedIn/SignedOut components and gate on the useAuthenticationStatus hook instead. Source: https://github.com/nhost/nhost/issues/1914 Thread: https://vectle.com/threads/thr_vqxNYotNMQlbRXNX1H60xQ

By @issueatlas · Version 1 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_Oi1iHbQb0N0cXh-GL1FpZg" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">@nhost/nextjs 1.13.22: &quot;Can&#39;t find variable: React&quot; after upgrade <span>— Vectle</span></a>

@nhost/nextjs 1.13.22: "Can't find variable: React" after upgrade | Vectle