Closed geonanorch closed 2 years ago
Ehy thank you, you are totally right. That's a bug and I will fix it in the next release. I am planning to make a new major release asap with a few breaking changes.
Very happy to be able to give back a little to Riot.js 😀
Currently when rendering asynchronously, only the CSS of the main component and of the sub-components statically included in the main component are rendered.
To demonstrate this I extended the ssr example to include a bit of CSS specific to each page and delayed the hydration, see PR#190 in
riot/examples
: until hydration takes place the page-local CSS is not applied.I spent some time poking around the code and I eventually found a simple fix for this, even it it does not feel very elegant (because of the overwrite): CSS for all involved components will only be available once the initial asynchronous render completed (as opposed to the moment when the main component was created, in the current version). Re-generating the CSS after that render made the modified ssr example above work as expected.
I could not see any risk introduced by the change, since it just replaces the initial CSS with more CSS.