Resolve #3459235 POC "React router"
Closes #3459235
POC of how I would like to implement React Router to put in place the architecture for handling tying UI state/views to the URL route.
At the moment it ties the route param of componentID to the selectedComponent in the UI slice. Updating the state will update the URL and updating the URL will update the state. I am unsure if this is wise - or if a better approach would be a single source of truth in the URL and remove the selected component from the state altogether.
While this PoC is very basic as there is very little to the XB app so far, I think React Router provides a robust, scalable solution for navigation and view management. What I hope to enable with this architecture, in the future, is the ability for us to easily scale the XB app to have more views, different settings pages, navigation between editing components and pages and templates etc. In addition it will allows users to navigate using URLs by copy and pasting the URL to other people they are collaborating with - just as they might expect to do with a backend application (hey Jane, please take a look at www.foo.com/admin/node/1/edit and review the copy)