preactjs / preact

⚛️ Fast 3kB React alternative with the same modern API. Components & Virtual DOM.
https://preactjs.com
MIT License
36.35k stars 1.93k forks source link

[preact/compat] [Next.js] Uncaught TypeError: (0 , l.use) is not a function #4374

Open EliasVal opened 1 month ago

EliasVal commented 1 month ago

Describe the bug Next.js version: 14.3.0-canary.49 (latest canary at the time of writing) Preact version: latest

next dev works fine, next build builds successfully but the following error is logged when entering the website:

Uncaught TypeError: (0 , l.use) is not a function
    at O.w [as constructor] (app-index.tsx:131:10)
    at O.B [as render] (preact.module.js:1:9068)
    at I (preact.module.js:1:6486)
    at T (preact.module.js:1:1877)
    at I (preact.module.js:1:6700)
    at T (preact.module.js:1:1877)
    at I (preact.module.js:1:6700)
    at T (preact.module.js:1:1877)
    at I (preact.module.js:1:6700)
    at T (preact.module.js:1:1877)

To Reproduce

  1. Build your Next.js app
  2. Open the website

Expected behavior Website to open normally

rschristian commented 1 month ago

NextJS is not supported with Preact, FYI.

We don't provide an implementation for use yet through compat, which looks like the issue.

Build your Next.js app

This is not a valid reproduction. Please follow the instructions we laid out in the bug template, it's there so we can help you better.

EliasVal commented 1 month ago

Hey! Sorry for the (very) late response.

This is not a valid reproduction. Please follow the instructions we laid out in the bug template, it's there so we can help you better.

Unfortunately, that's all that happens by the time that the error occurs. I build the application, run it, go to the website and I see a blank page with that error logged in the console.

We don't provide an implementation for use yet through compat, which looks like the issue.

That seems to be the issue, the use hook is new so should've expected that not all libraries support it yet 😅

NextJS is not supported with Preact, FYI.

Are there plans for official Next.js support?

rschristian commented 1 month ago

I build the application, run it, go to the website and I see a blank page with that error logged in the console.

"Build a NextJS app" is not a valid reproduction. As the issue template instructs, we need a repo we can clone or a Stackblitz/CodeSandbox to look at. Anything else has us blindly guessing at your setup, we have absolutely no idea how you configured it.

Without a reproduction there's very little chance anyone will be able and willing to help.

Are there plans for official Next.js support?

NextJS will not be supported, no.

They killed any chance of continued support (not that we necessarily loved maintaining the plugin either, it often broke) and entirely bought into React.