I\'m trying to set up react-router in an example application, and I\'m getting the following error:
You should not use outside a
I'm assuming that you are using React-Router V4, as you used the same in the original Sandbox Link.
You are rendering the Main
component in the call to ReactDOM.render
that renders a Link
and Main component is outside of Router
, that's why it is throwing the error:
You should not use outside a
Changes:
Use any one of these Routers, BrowserRouter/HashRouter etc..., because you are using React-Router V4.
Router can have only one child, so wrap all the routes in a div
or Switch.
React-Router V4, doesn't have the concept of nested routes, if you wants to use nested routes then define those routes directly inside that component.
Check this working example with each of these changes.
const App = () => (
);
render( , document.getElementById('root'));
Main
component from routeimport React from 'react';
import { Link } from 'react-router-dom';
export default () => (
Redux example
)
Etc.
Also check this answer: Nested routes with react router v4