A React component and pattern that simplifies the creation of interactive single page web sites and progressive web applications that include browser navigation (back/forward) and direct return URL links.
The root RASP could receive a parent which does pushState and popState like the browser does. The caller of renderToString could pass in this parent, which then receives the state (or pushes the state) to from the promise-thread's local variables. callbacks for external data could operate on the promise-threads' state and then call renderToString again until there are no more callbacks queued, and then res.send the result. Data Store's may need to be implemented as RASP components in order to get their data pushed and popped.