can do through a simple boolean prop (as this PR is doing)
can do through config function frameRenderFunction(Frame): void
can breaking change, and make the frame do its own rendering (like sku does)
This PR aims to allow Playroom to support Concurrent mode (optionally). Our design system is now required to support concurrent mode (yes we've jumped the gun early). As such we'd like Playroom to mount frames with the new createRoot api. Granted this is all experimental things, and will likely need an update as soon as it drops.
This is the less impactful change. One thing that came to mind, as an alternative implementation would be to do something like sku does and simply make the consumers frame javascript file return a function, that is in charge of rendering how they please—rather than just return a component.
I guess to counter that last comment, you could instead introduce a playroom config method that does this, aka frameRenderFunction(Frame): void.
TL;DR:
createRoot
.frameRenderFunction(Frame): void
This PR aims to allow Playroom to support Concurrent mode (optionally). Our design system is now required to support concurrent mode (yes we've jumped the gun early). As such we'd like Playroom to mount frames with the new
createRoot
api. Granted this is all experimental things, and will likely need an update as soon as it drops.This is the less impactful change. One thing that came to mind, as an alternative implementation would be to do something like sku does and simply make the consumers
frame
javascript file return a function, that is in charge of rendering how they please—rather than just return a component.I guess to counter that last comment, you could instead introduce a playroom config method that does this, aka
frameRenderFunction(Frame): void
.Please let me know of a direction.