Closed XantreDev closed 10 months ago
@XantreGodlike I meant you are right. React is unextensible. And it is written in that way. The actual problem is, that React has lots of legacy code because it is a very old library. They cannot remove and sometimes alter the old code as it will break many existing apps built with old React. Therefore they try not to touch the old code and do the new stuff on the old stuff as a layer. React source code looks freakingly horrible.
PReact on the other hand is written by correcting these mistakes.
@XantreGodlike I meant you are right. React is unextensible. And it is written in that way. The actual problem is, that React has lots of legacy code because it is a very old library. They cannot remove and sometimes alter the old code as it will break many existing apps built with old React. Therefore they try not to touch the old code and do the new stuff on the old stuff as a layer. React source code looks freakingly horrible.
PReact on the other hand is written by correcting these mistakes.
Agree))
I've implemented swc plugin for preact signals tracking in next.js. how to use Here you can try it out: https://codesandbox.io/p/github/XantreGodlike/preact-signals-nextjs/main
@XantreGodlike Thank you for creating that!
I will be moving this to Discussions as this is due to 's implementation instead of a current issue.
If you believe there is a separate issue going on due to , feel free to send us a bug report!
Verify canary release
Provide environment information
Any enviroment
Which area(s) of Next.js are affected? (leave empty if unsure)
App directory (appDir: true)
Link to the code that reproduces this issue
https://stackblitz.com/edit/nextjs-ayrrca?file=app/layout.js
To Reproduce
Just try to launch and look to the error
Describe the Bug
React signals don't work with next 13 appDir, if there are at least two client side components on the page.
Expected Behavior
Preact signals works as usual
Which browser are you using? (if relevant)
No response
How are you deploying your application? (if relevant)
No response