preactjs / preact-compat

ATTENTION: The React compatibility layer for Preact has moved to the main preact repo.
http://npm.im/preact-compat
MIT License
949 stars 148 forks source link

Components not getting updates via context from JSS/ThemeProvider #464

Open gusgid opened 6 years ago

gusgid commented 6 years ago

The following example shows how the theme is correctly toggled using React and React-dom. Switching to react-compat breaks it. Something todo with context being used by ThemeProvider?

https://stackblitz.com/edit/react-vxvdmr

What we found:

!! Our example offline at least renders using preact-compat with the default theme, but at stackblitz it stops as soon we try to mount a component that is wrapped by injectSheet hoc.

developit commented 6 years ago

Hmm - have you tried this outside Stackblitz? I don't see any aliases defined there, so when react-redux or react-jss import react, they're still getting React proper (not compat). That's definitely going to break things, it's never a good idea to run preact-compat and react on the same vtree.

gusgid commented 6 years ago

Hi, ahh yes, the issue was first found in local project with aliases setup in webpack:

resolve: { alias: { react: "preact-compat", "react-dom": "preact-compat" ...

Then it at leasts runs without errors. Do you want me to setup a repo with it all?

developit commented 6 years ago

If you have the time, otherwise it's pretty hard to tell what's going on.