This investigation of Sitecore JSS and SXA was done quite a while ago, but I didn't get a chance to post it here. I need to go back to the validation of this setup so this will be a living post and I'll be updating as new findings arrive.
You might ask why would you need to mix them, but the reason is pretty simple. SXA brings a lot of functionality outside of presentation configuration (which I'm not a fan of) that can be useful for any site, like site management, wizards for site creation, local data sources, various site settings, etc.
Initial research (Sitecore 9.0.0 + JSS TP3 + SXA 1.5.x)
It is possible to run SXA and JSS side by side, which is a good starting point.
Worked:
-
Data sources work and use queries like:
-
query:$site/[@@name='Data']/[@@templatename='Accordion Folder']
-
query:$sharedSites/[@@name='Data']/[@@templatename='Accordion Folder']
-
Shared sites for data sources work fine
Didn't work:
-
SXA toolbox does not work in JSS
-
Partial and Page design do not work in JSS by default
-
Page variants don't work
-
Themes could not be used
-
Styles are applied using e.g.
-
@Html.Sxa().Component("carousel", Model.Attributes)
-
Design export doesn't work nor make sense anymore
-
The control editing event works strangely when the page design is specified
It turns out that a lot of SXA customization could not be used, site creation requires too much clean-up after creation even with all options unchecked. It was possible to use many data templates available in SXA.
To be continued...
Follow me on Twitter @true_shoorik. Would be glad to discuss the ideas above in the comments.
