I'm using a class component as a parent for my functional components, using a useState hook while rendering the components with react-router crash the app, however, if the components are placed normally in the parent class component the app compiles fine.
[error][1] [1]: https://i.sstatic.net/E4lKn.png
this does NOT WORK:
import React, {Component, useState} from 'react';
import {Route, BrowserRouter as Router, Switch} from 'react-router-dom'
class App extends Component {
render(){
return (
<Router>
<Switch>
<Route exact path='/' render={FrontPage}/>
</Switch>
</Router>
);
}
}
const FrontPage = () => {
const [a, b] = useState('')
return (
<div> hello world </div>
)
}
export default App;
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
this WORKS
import React, {Component, useState} from 'react';
//import {Route, BrowserRouter as Router, Switch} from 'react-router-dom'
class App extends Component {
render(){
return (
<FrontPage/>
);
}
}
const FrontPage = () => {
const [a, b] = useState('')
return (
<div> hello world </div>
)
}
export default App;
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
Route, try using thecomponentprop instead of therenderprop.component={FrontPage}.