cssinjs / jss

JSS is an authoring tool for CSS which uses JavaScript as a host language.
https://cssinjs.org
MIT License
7.07k stars 397 forks source link

Styles created multiple times when using function values #1361

Open sergnek opened 4 years ago

sergnek commented 4 years ago

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:

  1. Open codesandbox link from below
  2. Inspect red text element and see styles applied
  3. Click on button few times to cause component re-render
  4. Inspect some another element on the page and the red text again.
  5. 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):

qhxin commented 4 years ago

same issue: https://github.com/cssinjs/jss/issues/1360

LAKnoKAL commented 3 years ago

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

half-halt commented 3 years ago

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.

vlazh commented 3 years ago

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)

tokiroto commented 3 years ago

Same problem here. Any solution yet?

just-Bri commented 3 years ago

Been experiencing the same issue, dropping a +1 on this.
Been noticing performance impact from this.

naripok commented 3 years ago

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.

just-Bri commented 3 years ago

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