Skip to content

Instantly share code, notes, and snippets.

@pablorcruh
Created January 19, 2021 02:35
Show Gist options
  • Save pablorcruh/f6676db5eb840fcebc7fe9d85ad8f9a0 to your computer and use it in GitHub Desktop.
Save pablorcruh/f6676db5eb840fcebc7fe9d85ad8f9a0 to your computer and use it in GitHub Desktop.
React Router Error
import React, { useState } from 'react'
import { EventDashboard } from '../../features/events/eventsDashboard/EventDashboard'
import {NavBar} from '../../features/nav/NavBar';
import {Container} from 'semantic-ui-react'
import { Router } from 'react-router-dom';
import { HomePage } from '../../features/home/HomePage';
import { EventDetailedPage } from '../../features/events/eventDetailed/EventDetailedPage';
import { EventForm } from '../../features/events/eventsForm/EventForm';
function App() {
const [formOpen, setFormOpen] = useState(false)
const [selectedEvent, setSelectedEvent] = useState(null)
const handleSelectedEvent = (event) => {
setSelectedEvent(event)
setFormOpen(true)
}
const handleCreateFormOpen = () =>{
setSelectedEvent(null)
setFormOpen(true)
}
return (
<>
<NavBar setFormOpen={handleCreateFormOpen}/>
<Container className='main'>
<Router exact path='/' component={HomePage}/>
<Router exact path='/events' component={EventDashboard}/>
<Router path='/events/:id' component={EventDetailedPage}/>
<Router path='/createEvent' component={EventForm}/>
</Container>
</>
);
}
export default App;
TypeError: props.history is undefined
Router
/xyz/modules/Router.js:20
17 | super(props);
18 |
19 | this.state = {
> 20 | location: props.history.location
| ^ 21 | };
22 |
23 | // This is a bit of a hack. We have to start listening for location
./src/index.js/<
src/index.js:7
4 | import '../src/app/layout/styles.css';
5 | import App from './app/layout/App';
6 |
> 7 | ReactDOM.render(
8 | <BrowserRouter>
9 | <Router path='' component={App}/>
10 | </BrowserRouter>,
./src/index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter, Router } from 'react-router-dom';
import '../src/app/layout/styles.css';
import App from './app/layout/App';
ReactDOM.render(
<BrowserRouter>
<Router path='' component={App}/>
</BrowserRouter>,
document.getElementById('root')
);
{
"name": "revents",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"cuid": "^2.1.8",
"prop-types": "^15.7.2",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-router-dom": "^5.2.0",
"react-scripts": "4.0.1",
"semantic-ui-css": "^2.4.1",
"semantic-ui-react": "^2.0.2",
"web-vitals": "^0.2.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment