Here is the function that returns my routes:
...
import { Route, Switch, Redirect } from "react-router-dom"
import { ApolloProvider } from "@apollo/client";
import { MuiThemeProvider } from '@material-ui/core/styles';
...
function Routes(props) {
return (
<Switch>
<Route path="/" exact component={MainPage} />
<Route path="/page1" exact component={PageOne} />
<Route path="/page2" exact component={PageTwo} />
<MuiThemeProvider theme={theme}>
<Route path="/page3" exact component={PageThree} />
<ApolloProvider client={client}>
<Route path="/page4" exact component={PageFour} />
</ApolloProvider>
</MuiThemeProvider>
<Redirect from="*" to="/" />
</Switch>
);
}
I want to redirect invalid urls to main page but this code is not working. I tried moving <Redirect> to inside of MuiThemeProvider and ApolloProvider but this time it redirects all routes, except pageone and pagetwo, to main page. How can I use redirect properly in this case ?
"react": "^16.12.0"
"react-router-dom": "^5.1.2"
"@material-ui/core": "^4.9.2"