Skip to content
This repository has been archived by the owner on Dec 16, 2021. It is now read-only.

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

Open
gusgid opened this issue Feb 16, 2018 · 3 comments
Open

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

gusgid opened this issue Feb 16, 2018 · 3 comments

Comments

@gusgid
Copy link

gusgid commented Feb 16, 2018

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:

  • CSS selectors is changed in the header as expected
  • React Component do re-render as expected
  • The classes object sent via Context from ThemeProvider is not updated (rerender with the original classNames that does not have a definition anymore)

!!
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
Copy link
Member

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
Copy link
Author

gusgid commented Feb 26, 2018

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
Copy link
Member

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants