Current behavior:
Given Emotion's Global component is used in a component that is lazy loaded and wrapped in Suspense, and the parent component is rendered upon initial page load, the global styles are not removed when that component is unmounted.
Note that when Global is not in a component that is rendered on initial page load (while wrapped in Suspense), global styles are correctly removed when the parent component is unmounted.
Seps to reproduce:
Failing Test Case
Using this example: https://stackblitz.com/edit/react-ts-agivwh?file=App.tsx
- Page initially loads
Page1 component
- Notice red body background
- Click on the link "CLICK ME TO PAGE 2"
- Page 2 is now rendered
- Expected Result
- Actual Result
- Body is still red

- Click on the link "CLICK ME TO PAGE 1"
- Page 1 is now rendered
- Expected Result
- Body has 1 red style entry
- Actual Result
- Body has 2 red style entries (because the original one was never removed)

Passing Test Case
Using the same example at https://stackblitz.com/edit/react-ts-agivwh
- In
App.tsx, set the initial value of currentPage to the value of /page2, then reload web view
- Page initially loads
Page2 component
- Notice the white background
- Click on the link "CLICK ME TO PAGE 1"
- Page 1 in now rendered
- Notice the red background
- Click on the link "CLICK ME TO PAGE 2"
- Page 2 is loaded
- Notice the white background
Global body style was correctly added and removed.
I tested this in an example without using suspense and everything works as expected following the same steps above
https://stackblitz.com/edit/react-ts-xwa9w5?file=App.tsx

Current behavior:
Given Emotion's
Globalcomponent is used in a component that is lazy loaded and wrapped inSuspense, and the parent component is rendered upon initial page load, the global styles are not removed when that component is unmounted.Note that when
Globalis not in a component that is rendered on initial page load (while wrapped inSuspense), global styles are correctly removed when the parent component is unmounted.Seps to reproduce:
Failing Test Case
Using this example: https://stackblitz.com/edit/react-ts-agivwh?file=App.tsx
Page1componentPassing Test Case
Using the same example at https://stackblitz.com/edit/react-ts-agivwh
App.tsx, set the initial value ofcurrentPageto the value of/page2, then reload web viewPage2componentGlobal body style was correctly added and removed.
I tested this in an example without using suspense and everything works as expected following the same steps above
https://stackblitz.com/edit/react-ts-xwa9w5?file=App.tsx