jss
jss copied to clipboard
Styles created multiple times when using function values
Expected behavior: Duplicate styles shouldn't be created.
Describe the bug: On every component render, in which useStyles prop changes, new duplicate styles are created. I've managed to reproduce the bug in Codesandbox. To see it:
- Open codesandbox link from below
- Inspect red text element and see styles applied
- Click on button few times to cause component re-render
- Inspect some another element on the page and the red text again.
- Notice duplicate styles The styles are duplicated only for elements styled with css selector. If you check styles on the element with container class, you'll see there is no duplication there.
Codesandbox link: https://codesandbox.io/s/react-jss-playground-7ftrs?file=/index.js
Versions (please complete the following information):
- jss: 10.1.1
- Browser [e.g. chrome, safari]: any
- OS [e.g. Windows, macOS]: any
same issue: https://github.com/cssinjs/jss/issues/1360
same for "^10.3.0". #1360 is more about Firefox, this one actually represents that issue related to all browsers/OS. Also material-ui not involved
I have a change i've been with messing with that should address this, and make createUseStyles / useStyle work in concurrent mode, If you want to try it.
I have run the same issue. It seems like the problem with Function rules (jss-plugin-rule-value-function) and any nested rules (jss-plugin-nested)
Same problem here. Any solution yet?
Been experiencing the same issue, dropping a +1 on this.
Been noticing performance impact from this.
This is a major concern on my application. I see the issue is resolved on #1360, but not merged because of a CI config problem. D= If someone can address the merge issue, I'll be forever in debt.
This is a major concern on my application. I see the issue is resolved on #1360, but not merged because of a CI config problem. D= If someone can address the merge issue, I'll be forever in debt.
It looks like they just need to update the test snapshots to reflect the new code