As previously mentioned, React-Router provides various Router implementations:
- <BrowserRouter>
- <HashRouter>
- <MemoryRouter>
- <StaticRouter>
- <NativeRouter>
These Routers make use of a low-level interface—<Router>. The <Router> component is part of the core react-router package, and the functionality provided by the <Router> interface is extended by these Router implementations.
The <Router> component accepts two props—history and children. The history object can be a reference to the browser's history or it can be the application's history maintained in memory (which is useful in native applications where an instance of browser's history is not available). The <Router> component accepts one child component, which is generally the application's root component....