Closed
Description
- We started with
<RouterProvider>
that lived in react-router, and worked for memory/dom routers - When we added
flushSync
andviewTransition
stuff, those are DOM APIs so we had to make a new<RouterProvider>
that only works in react-router-dom - With v7 there is only react-router-dom (but it's react-router), so we only need one
<RouterProvider>
This task is to end up with a single implementation.
Questions
We need to decide if we care about transitions checking for DOM APIs like view transitions and react's flushSync, particularly for people who have unit tests running w/ memory routers, etc. We can probably still support them by being defensive about the DOM/React APIs that wouldn't work outside of a DOM.